您的位置 首页 java

嫌 Java 太繁琐、表现力太差?这些 JVM 语言给你不一样的体验

作为上世纪 90 年代发明的语言,从 1996年1月发布 1.0 版到 2019年9月发布 Java 13,Java 语言将迎来 24 周年。近十年来,Java 在 IT 软件业界非常流行,一直占据着 编程语言 排行榜首,成了企业开发的第一选择。

Java 语言天生拥有众多优势:跨平台、面向对象、安全稳健、简单高效。不过相对 Python、JavaScript、 Ruby 等语言,Java 的语法显得死板、冗长、不够灵活。虽然 Java 也在不断吸收其他语言的优点:比如 Java 8 引入了 函数式编程 ,Java 10 引入了 var 类型推断等,但受制于规模、兼容性和商业因素等原因,Java 只能小步改进,不可能期待 Java 语法能有 Python 等动态语言的表现力。

不过 Java 不是 JVM 的全部,近些年来 JVM 上产生了许多优秀的语言,给开发者们带来了新的选择。这些语言提供更多的语言特性(包括语法糖),使语言变得有表现力,实现相同只需要少量代码。另外,这种语言通常能与 Java 互操作,充分利用 Java 强大的生态库。

Scala

Scala 是一门基于 JVM 的多范式的编程语言,由洛桑联邦理工学院的 Martin Odersky 教授领导开发,设计初衷是要整合面向对象编程和函数式编程的各种特性。

Scala 语言特性丰富、语法复杂,被一些人称为 JVM 上的 C++。Scala 是一种纯面向对象的语言,每个值都是对象。Scala 也是一种函数式语言,其函数也能当成值来使用。Scala 运行于 JVM,并兼容现有的 Java 程序,在高并发、大数据领域应用广泛。

代表项目:

  • Akka 基于 Actor 模型的并发框架
  • Spark 大数据计算平台
  • Kakfa Samza 分布式日志、流处理系统
  • Play Lift 等 Web 开发框架

Kotlin

Kotlin 是一种现代的、基于 JVM 的静态编程语言,由 JetBrains 俄罗斯圣彼得堡团体开发。Kotlin 兼容 Java,但比 Java 更简洁、更安全,能够静态检测常见的错误。另外,相比成熟的竞争对手 Scala,Kotlin 语言更加简单,更容易上手。

Kotlin 最近几年迅速窜红,移动端,Kotlin 已成为 Android 官方推荐的首选开发语言;在服务端,Kotlin 是 Spring、Vertx 等项目除 Java 外的第一选择。

代表项目:

  • okio okhttp anko :大量 Android 开源库
  • Ktor Web 开发框架
  • Spring Vertx 等项目引入 Kotlin

Groovy

Groovy 是一种基于 JVM 的面向对象编程语言,拥有 Python、Ruby 和 Smalltalk 等语言的一些特性,可以作为 Java 平台的脚本语言使用。

Groovy 使用与 Java 相似的语法,并弥补了 Java 语言动态性不足的弱点,使得开发的趣味性和效率大大提高。Groovy 代码动态地编译成运行于 JVM 上的 Java 字节码,并能与其他 Java 代码和库进行互操作。从 Groovy 2.0 版本开始,Groovy 也可以静态编译,提供类型推到和 Java 相近的性能。

代表项目:

  • Gradle 新一代自动化构建工具
  • Grails Ratpack Web 开发框架

Clojure

Clojure 是 Lisp 语言在 JVM 平台上的现代、动态及函数式方言。与其他 Lisp 一样,Clojure 视代码为数据且拥有一套 Lisp 宏系统。Clojure 不仅可在 JVM 上运行,而且在设计上还兼顾了 Java 的互操作性。Clojure 在设计上也考虑了并发性,并具有并发编程的一些独特特性。

Clojure 提倡不可变性(immutability)与持久数据结构(persistent data structures)并鼓励程序员显式地管理标识(identity)及其状态(state)。对利用不可变值(immutable values)及显式时间进展构造(explicit progression-of-time constructs)进行编程的专注旨在促进更加健壮的(尤其是并发)程序的开发。

代表项目:

  • Metabase 数据分析、可视化工具
  • Light Table 全新理念轻量级 IDE
  • Leiningen 项目管理、自动构建系统

Ceylon

Ceylon 是由 Redhat 公司的一门 JVM 语言,由 Hiberate 之父 Gavin King 领导,面向企业级应用开发设计。Ceylon 是一种模块化的静态类型的现代编程语言,它保留了一些好的 Java 语言特性,在 JVM 上执行,支持与 Java 的交互操作。

Ceylon 使用静态类型并提供高阶函数等语言特性,拥有强大的类型系统并融合了 C 和 Smalltalk 的一些特性。Ceylon 语法灵活,突出了可读性,在保持代码良好可读性的同时进一步降低了开发者入门的难度。

Jython

Jython(原名 JPython),是 Python 语言在 Java 中的完全实现,使用户能以 Python 的语法编写在 JVM 上运行的软件。Jython 程序可以和 Java 无缝集成,除了一些从 CPython 中继承的模块,Jython 可以使用 Java 的模块。

Jython 优点:

  • 与 Java 相比,Jython 和 Python 强调了代码的简明、方便和易读,大大减少了代码量。
  • Jython 同时拥有解释器和编译器,无需编译就可以测试程序代码。
  • JRuby

    JRuby 是 100% 纯 Java 实现的 Ruby 解释器,可以在 JVM 上直接运行 Ruby 程序(支持 Rails),调用 Java 的类库。JRuby 由 JRuby 团队开发维护,成员包括 Charles Oliver Nutter、Thomas Enebo 和 Nick Sieger 等。JRuby 最新版本为 9.2.9.0,兼容 Ruby 2.5.7。

    文章来源:智云一二三科技

    文章标题:嫌 Java 太繁琐、表现力太差?这些 JVM 语言给你不一样的体验

    文章地址:https://www.zhihuclub.com/179019.shtml

    关于作者: 智云科技

    热门文章

    网站地图