我们扩展一下吧,光说这几个语言一点都不爽
目前jvm上的语言大概有以下几个,主要的几个
groovy, ruby, javascript, python, scala, kotlin, ceylon,还有latte(支持国产)
那是这样,以java为分界线
分为j--和j++
j--什么意思呢?弱化线程这些功能,将静态类型改成动态类型,增加程序员的自由度
这一类可以统称为脚本语言
jvm上的脚本语言有:groovy, ruby(jruby), javascript(nashorn)和python(jython)
解决了什么痛点呢?就是java写起来太繁琐,简化它的语法,让你可以很快写出代码来
比如动态类型
每次我们拿到一个变量,都要想想是什么类型,在java里面
对于脚本来说,这不是问题,直接var myVar = ....就行了
然后说,后面要复用这个变量,那怎么办?静态类型要重新声明一个
动态不用,直接myVar = 就可以赋值了
其实这一类还不仅仅是focus在脚本上的语言,高级语言也有相关脚本
比如kotlin-script和scala-script,latte-script
j++是什么意思呢?扩展java,让java在oop上走得更远,同时加入fp的功能,以及其他的语法糖
不妨把这一类称之为better java
jvm上这一类的语言有:scala,kotlin,ceylon和latte(请支持国产)
比如scala
scala里面的万事万物都是真的对象,java里面原始数据类型不是真对象
但是在scala和kotlin里面是,ceylon和latte里面应该也是,不是很确定
然后呢,比如jee里面经常有人用的,set/get方法的entity bean,对吧?
这个就有语法糖实现,比如case class(scala)和data class(kotlin)
还有fp的一些特性,比如最后一个参数可以用{}写在()外
还有inline方法等,基本上都是在java的基础之上,扩展了新的特性和功能
最后,建议你还是要学习vert.x
学了vert.x之后,对多语言的亲和力是增强了很多
不要局限在java这一个小天地内,外面世界更精彩
出来看看
更新一下:其实从vert.x支持的语言你能看出来,有些语言已经开始掉队了
一个是jython,一个是clojure,这两个在vert.x 2的时候都是支持的
3版本开始,因为找不到合适的开发和维护人员,暂时不再支持
分开说原因,jython属于脚本,对吧?但是python本身的语法比较蛋疼
最明显的,没有花括号,这是败笔,不管怎么辩解
python在jvm上,跟groovy的竞争是不可避免地败下阵来
groovy反而越发火热起来,google,netflix什么都在使用groovy
而jvm上的python jython则显得落寂,因为python有的那些好用的功能
groovy都有,而且groovy有花括号,ide友好,可以编译也可以解释执行
同时groovy将兼容java语法放在非常优先的位置上
所以当我们在jvm上选择脚本的时候,一般都会选择groovy,而放弃python
所以j--阵营里面,python开始掉队
然后看j++,这一块里面,pure fp的语言,clojure开始显得落寂起来
为啥?不管社会朋克青年怎么批判java,啰嗦繁琐,怎样滴
java的巨大成功是不容否认的,所以想说单独搞一个语言跟java语言匹配
啊,就像clojure这样做一个相对pure的fp语言,跟相对pure的oop语言,一起合作
这样做,还不如干脆扩展java,在oop的基础之上,加入fp的features
目前看,这种是主流,因为pure fp没有太多人喜欢,不管学术界怎么个吹
总之受众有限,你要玩你自己玩去,工业界考虑的是投入和产出
不是理论上怎么滴高明,没有人在乎那个东西,一堆人要吃饭,不是来跟你搞理论的
所以scala逐步压过clojure,现在kotlin,ceylon这些也都是走在scala的这条道路上
国产的latte也是这条路,基本上都用脚走出了选择
所以前面在说j++的时候,clojure压根就没提,其实clojure这种相对pure的fp
应该可以算作是第三条路,可以说是another java的路
只是这条路走的语言太少,算了吧,学术界要apply到工业界上去
也得老老实实用oop,改用时候还是要用
而曲高和寡的pure fp/lisp的一种clojure也正在面临着jython一样的尴尬
找不到人开发和维护,所以vert.x也就没办法继续支持下去
所以还是要看vert.x,多好玩啊,一堆语言在同一个平台上比武
随着版本的升级,开发人员和社区人员的贡献,有些语言就会表现出不足来
掉队的有,新增的也有啊,vert.x 3的scala和kotlin其实都是社区的贡献
latte也是我们中国人自己做的啊,多好玩
关注vert.x,就请关注我的专栏:白木城全栈