赞
踩
你千万不要把propaganda当真
什么意思呢?就你说的,只有python成了胶水语言
说这话的人明显就是一种鼓吹,方便他们卖文章卖培训之类的而已
你要信了就上当了,而且我怀疑人家可能压根没有说只有,是你自己想象加上去的
你可以翻翻那些文章,应该没有说只有,但是他们多少会给你一点心理暗示,但是不说破
应该这么说,python用来wrap系统命令,会相对方便一点,所以比较适合做胶水语言
但是,其他语言也都有ffi,foreign function interface,就是调用其他语言的接口
尤其是对于c写的类库的调用,应该是几乎所有语言都有,比如java的jni
你真要用其他语言来做胶水,也不是不可以,顶多说麻烦一点了,而且这个麻烦
从现在的发展看,似乎也在逐步被简化,比如java的panama project,巴拿马项目
就可以通过工具jextract(panama-foreign项目)根据c的头文件h,自动生成java的interface
这样用户就不需要去碰c,一样可以调用c的api了,这样java用c的类库,比如opengl之类的
就很方便了,就不需要用户自己动手去搞jni之类的了
好像之前看julia那边,也有类似的这些工具,所以你说只有python适合做胶水语言
嗯,似乎不是这样,这个更多的是你自己想像出来的说法
还有就是,现在多语言开发越来越热门,graal,vert.x都是多语言开发的工具
我们经常换语言来取长补短,比如vert.x用java就避不开callback带来的问题,至少在loom出来之前,这个问题单纯用java是解决不了的
所以我们用kotlin来替换java,以实现await方式的fluent异步开发,kt可以实现future.await()
这样就可以避开callback了,就很方便
从这个角度说,什么语言都可以做成胶水语言,但胶水语言本质上也是一个虚名
也没有什么严格的定义,你听听就是了,别当真
以后graal的那几个substrate成熟后,不同语言调用类库将会变得没有什么门槛
到那时候,就什么语言都可以做胶水了,其实你现在用groovy调用各种类库也很容易
你看groovy的主页上,那一大票公司,几乎都是用groovy来做胶水的,只要有jvm的地方
一般会选groovy,而不是python或者jython,因为groovy可以有花括号,写起来比python更舒服
最后说一下,python的库只是在特定的场合会多一点,主要就是numpy和scipy这几个
其他的,单纯比数量,我看了下pypi,应该是24万多项目,而java光maven central一年就能爆上百万个jars,所以java第三方的仓库应该是所有语言中最丰富的了,库存已经朝着两千万杀过去了,目前库存是1730万+,所以工具的数量不是一个级别的,第二应该是npm,npm前一段过百万库存好像还庆祝了一下,然后rb的gem,gem应该跟pypi在一个数量级上,50万上下酱紫
所以从数量上就可以看出来,只有二字肯定是不对的
顶多说以前写java用c库麻烦点,一般人不会做或者是不愿意这么做,那巴拿马项目之后,应该会出现一波小井喷,其实现在javafx什么就已经是c++写的库了,java 9的jigsaw之后,已经有不少库开始走native路线了,比如lwjgl,netty-native这些就可以考虑走jmod,而不是jar模式
还有graal的sulong速龙,先把c编译成bitcode,再嫁接到jvm上去……
总之方式很多,随便玩
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。