除 Java 外,还有哪些编程语言蹭了 JVM 的车票?
实际软件项目的需求日益增多,而不同编程语言拥有不同的特性和擅长解决的问题,那么针对不同的需求场景,选用符合需求的编程语言来解决实际问题急不可待。当然了,这就要求在同一平台上支持至少两种或 N 种编程语言的运行,且不同语言之间需要支持高度互操作
以下几种语言都具备这两种特性,即:擅长的方向
和与Java高度互操作
,混合编程的模式可使这些问题迎刃而解(除了即将介绍的这几种语言,还存在更多)。
若您有遇到其它相关问题,非常欢迎在评论中留言,我和其他读者小伙伴们将帮助解决并持续更新至此文,达到帮助更多人的目的。若感本文对您有所帮助请点个赞吧!
Kotlin丨简洁、空安全、100% 兼容 Java
2011 年由 JetBrains 推出的跨平台静态编程语言。支持编译成 Java 字节码在 JVM 内运行或编译为 JavaScript 在没有 JVM 的设备上运行,是移动端跨平台方向的攻坚利器。在Google I/O 2017中,Kotlin 正式代替Java 成为 Android 官方首选开发语言
fun main(args: Array<String>) {
println("Hello,World!!!")
}
官网:https://www.kotlincn.net/
Lisp丨应人工智能而生的语言
1958 年由 MIT 的 约翰•麦卡锡(John McCarthy)和 Marvin Minsky 组成的人工智能项目组推出,声明式系内函数式程序设计语言,拥有超高的计算能力,也是应人工智能而生的语言,在人工智能领域应用非常广泛
(format (standard-output) "Hello,World!!!")
官网:https://common-lisp.net/
Clojure丨简洁版 Lisp
动态函数式编程语言,基于 Lisp 语言设计,支持运行在 JVM 与 .Net 平台,继承了 Lisp 的强大,但相对更简洁
(defn -main [& args]
(println "Hello,World!!!"))
官网:https://www.clojure.org/
Ceylon丨号称 Java 杀手
2013 年 Ceylon 语言 1.0 正式版推出,号称 Java杀手
,模块化高可读的面向对象的静态类型编程语言,吸收了 Java、C、Smalltalk 以及函数式语言的特性,可运行在 JVM 以及JavaScript 虚拟机
void hello() {
writeLine( "Hello,World!!!" );
}
官网:https://ceylon-lang.org/
Scala丨面向对象和函数式编程结合
2003 年 Java 平台的 Scala 由 EPFL 的 Martin Odersky 发布,多范式编程语言,将面向对象和函数式编程结合在一起,
def main(args: Array[String]) {
System.out.println("Hello,World!!!");
}
官网:https://www.scala-lang.org/
Groovy丨轻量级却强大
2003 年由 Apache 推出的轻量级动态语言,吸收了 Python、Ruby 和 Smalltalk 语言的优秀特性,语法简洁,可有效提升开发效率。与 Java 完全互融,可互调对方支持库,由ASM生成普通的java字节码文件后通过JVM执行
class Fuck{
static void main(String[] args){
println "Hello,World!!!";
}
}
官网:https://www.groovy-lang.org/
JRuby丨Java 版 Ruby
2007 年由 Sun 推出的面向 Ruby、基于 Java 虚拟机(JVM) 的解释程序,相当于 Ruby 的 Java 版实现,支持调用 Java 的库,并在 JVM 上运行
"puts 'Hello,World!!!'"
官网:https://www.jruby.org/
Jython丨Java 版 Python
Jython 是 Python 在 Java 中的完全实现,所以同时支持 Python 与 Java 两种库。开发者可以通过编写 Python 语法的代码但使其运行在 JVM 上,Python 语法可使得代码量极大减少,最终实现了将两者的优势独霸一身,非常独特
print "Hello,World!!!"
官网:https://www.jython.org/
若您有遇到其它相关问题,非常欢迎在评论中留言,我和其他读者小伙伴们将帮助解决并持续更新至此文,达到帮助更多人的目的。若感本文对您有所帮助请点个赞吧!
上一篇: JavaScript的AMD规范
下一篇: 面向对象编程