这是谁?
谁在这里大放厥词,说什么“还需要Java”?
问题的答案,当然是,根本不需要Java!
因为你还可以用Kotlin,据说语法跟C#一样优美(狗头)!学了Kotlin,开发安卓程序也不浪费,一举两得,香不香!
除了Kotlin,还有Groovy!它有一个“快速开发框架”-Grails,完全可以构建SpringBoot++程序!
Groovy还有一个构建系统Gradle,直接DSL,比起maven不知道要高到哪里去!
所以,人的格局要打开,不要在Java这一棵树上面吊死!
很多人很死板,离开Java就不会干活了,离开SpringBoot就不会写程序了!
你们要学学我!
我现在写命令行都用定制的SpringBoot的CommandLineRunner来写;写个JavaFx GUI程序,没关系,继续SpringBoot走起!写cron定时程序,没关系,Springboot内置支持。
所以,技术人一定要灵活,要学会SpringBoot的各种姿势,才能更好的Boot!
现在看来,只要SpringBoot框架的维护人员用Java就可以了,其他人就直接用kotlin/groovy就可以!因为后者既可以使用SpringBoot的功能,一样可以使用Jar库。
如果是新开发的程序,完全可以用K/G来开发!
为什么是这样?
因为我们最终使用的是JVM,而不是Java。
Java是JVM上面的一种语言,它最终产生的是ByteCode,执行在JVM上面。也就是说如果另外一种语言也可以产生ByteCode,不用Java也行。
这就是Kolin/Groovy产生的原因。
其它类似的语言,还有JRuby、Jython等各种Script语言!JRuby其实是能够运行Ruby正宗的Rails开发框架的!
在大数据领域,Spark这个著名的框架也有自己的编程语言-scala,用的也非常好。
在传统的Lisp领域,有一个著名的Closure语言,很多Lisp的爱好者可以用熟悉的Lisp写JDK程序。
在JDK内部,也曾经有一个JavaScript版本,名字比较绕口,好像是叫犀牛,也有一个JShell的程序,可以直接进行JavaScript的REPL。
最近,Oracle的GraalVm更是取得了很大的进步,它一方面通过AOT技术,可以把Java直接编译为NativeCode,而不是bytecode,提高了执行速度;另外一个方面,它还支持了大量的语言!