Java & Groovy & Scala & Kotlin - 01.安装与运行

作为一个从 JetBrain 刚推出 0.x.x 版本就开始追随 Kotlin 的人来说看到 Google 宣布 Kotlin 为 Android 的正式语言表示双手赞成。最近圈子里也出现了很多对 Kotlin 感兴趣的人,但是也有不少人觉得完全没有意义,不看好其的发展,觉得其语法很别扭。另有一些人则有一些认知错误,以为 Kotlin 是个很新的东西,不知道其实 JVM 上有很多语言,这些其实都能用来写 Android。

此次我打算将两年前自己在博客上总结的有关几种 JVM 上的语言的特点文章重新整理一下发布在简书,供自己重温一下,顺便对以前一些细节做一下修复,添加上原来没有的使用其它 JVM 语言开发 Android 程序的部分,算是凑个热度。

一般广义来说 Java 生态圈其实指的是 JVM 平台。除了 Java 之外,JVM 上还有 Groovy, Scala, Kotlin, Clojure, Xtend 等。其中大部分都能做到无缝和 Java 互相调用以及开发 Web 和 Android 程序。本系列会挑选其中最常用的 Java, Groovy, Scala, Kotlin 来进行讲解。

语言介绍

Java

Java 是运行在 JVM 上的跨平台的面向对象的静态语言。初期由 Sun 开发,后来被 Oracle 收购。语言本身比较稳重,每个版本语法层面改动较少,拥有较高的版本兼容性,目前广泛用于大厂的后台开发。

Groovy

Groovy 是一门动态语言,本质上其实就是 Java。相比较 Java 而言,Groovy 提供了更多的工具类和语法糖,所以使开发效率通常比 Java 要高出许多。但由于动态语言的特性,在运行效率上则要慢一些。不过 Groovy 也支持静态编译,只是这样会损失它的动态特性。目前 Groovy 主要用于快速构建 Web 网站,编写 DSL,代替 Shell 编写写启动脚本等。

Scala

Scala 是一门同时具有面向对象特性和函数式特性的静态语言,不同的人写同样的功能可能会写出完全不一样的代码,再加上其本身语法较为复杂,被称为 JVM 上的 C++。所以写 Scala 程序时代码规范显得格外重要。此外与 Java 不同,Scala 语言比较激进,不少废弃的 API 会被直接从代码中移除而不是标记为废弃。由于有大量的函数式语言特性,代码量较少,所以非常适合编写复杂逻辑,目前在大数据分析领域非常活跃。

Kotlin

Kotlin 由 JetBrains 开发,也就是开发 IDEA 的公司,是一门非常年轻的语言。语法本身接近 Scala,但是没有那么多复杂的概念,目前的 Kotlin 已经支持了很多 Java 9 才会有的语法。此外由于 Android Studio 本身就是 IDEA 套了层壳,所以 Kotlin 非常适合开发 Android 程序。Kotlin 有 JVM 版本和 JavaScript 版本,所以也可以使用 Kotlin 来编写 React 和 ReactNative,之后的发展值得期待。

开发环境

本系列的所有语法全由一个示例工程构成,该工程的开发环境如下:

  • OS

    • Linux, Mac, Windows
  • 语言

    • Java 1.8.0_121
    • Groovy 2.4.9
    • Scala 2.12.1
    • Kotlin 1.1.0
  • IDE

    • IDEA 或 Eclipse
  • 构建工具

    • Maven

安装开发语言

以上全部安装完毕后可以在命令行中依次执行以下语句来验证是否安装成功

java -version
scala -version
groovy -v
kotlinc-jvm -version
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 215,012评论 6 497
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,628评论 3 389
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 160,653评论 0 350
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,485评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,574评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,590评论 1 293
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,596评论 3 414
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,340评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,794评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,102评论 2 330
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,276评论 1 344
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,940评论 5 339
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,583评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,201评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,441评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,173评论 2 366
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,136评论 2 352

推荐阅读更多精彩内容