胶水语言很多,shell脚本语言就是最广泛的胶水。同样还有tcl语言。
shell和tcl的初始定位就是胶水。
后续的高级语言里,同时代的perl之前也广泛做胶水来着,一度被很多操作系统默认安装作为高级配置脚本,语法还和shell很多相似之处呢。但实在忍不了,Python后来才反超perl并几乎把Perl完全赶出了系统配置领域。
再往后的脚本语言再也建立不起这样的生态了。
-------0701补充------
我很好奇,为什么这么多人说Lua是胶水,是我实在太老落后于时代了?
是的,Lua能调用C语言组件,但有这能力的语言多了。Lua凭借小身板在各类游戏各类工具上当嵌入的插件语言挺好的。
但是要论合格的胶水,非shell脚本莫属。shell的目的就是在操作系统中负责粘合各类程序的。最最纯正的胶水。而且提供管道操作,这强力黏结能力无人能敌。甚至有shell,有awk、sed、jq这几个外围,你还要啥别的语言?黏在一起无敌的。但终归shell的性能那肯定是呵呵呵的。
shell的焊接技术一流,但是语法和数据结构还是欠缺了,特别是以前,TCL工具语言站了出来,不少有年头的行业工具软件当时都选择了tcl来扩展开发功能。TCL语言留下来两个瑰宝——Expect和tk。tk熟识吧,很多语言借鉴这个作为默认GUI库,python的IDLE就是tk整的。但TCL语言从shell借鉴了很多,但也没有太多提高,不面向对象(后续有)等, 除了Expect和tk,它已慢慢不见了。
perl语言凭借优秀的对文本和文件的处理能力,一度风靡系统配置领域,去年我一个服务器不小心被侵入了,被遗留了一个perl脚本文件。我对这门语言了解不多,下有bash,上呢,我还没那么老,有更好的python,我为什么要学perl,对吧。
但是shell、tcl和perl里恼人的$$鬼画符有点多啊,python更接近自然语言的语法就友好多了,能力又强,没理由不在这个领域成功。
粘合剂领域,简单的用shell,再复杂点或shell粘不了的就用python。一般情况下,我有什么理由选择其他粘合剂?