Java 10 发布,是时候关注 Kotlin 了


Java 10 发布了,对于广大程序员来说,算是个大新闻。毕竟在程序员的世界里,Java 仍然保持了一哥的地位,也就是说,这个世界上使用 Java 语言编程的程序员可能是最多的。不过最近 Java 大版本更新的速度确实让老程序员们瞠目结舌。十八年前,也就是千禧年 2000,Sun 公司像神经病一样连续在 5 月份推出了 JKD1.3 和 1.4,按照现在的版本规则,也就是 Java 3 和 4。四年以后 Java 5 发布,那是 2004 年,这种发布节奏让程序员完全找不到节奏,以至于 Java 5 发布了一年多之后,大部分程序员还在使用 4。2006年 Java 6 发布了,程序员们在抱怨 Java 语法滞重繁琐发展缓慢的同时,开始期待 Java 两年发布一次大版本,希望这货能做个正常的有节奏的编程语言。

然而并没有。

下一个版本的更新我们等了五年,那时候很多人都产生了一种错觉,以为 Java 语言就此不更新了。

就这么个更新频率,现在开始每半年发布一个大版本,迅速把 Java 拉升到 10 这个里程碑,Java 的小伙伴们都惊呆了。就像一个稳健的中年大叔,比如二爷,每隔几年有可能出来走两步,某一天悍然宣布每过半年就要跑个马拉松,谁能相信哩?

Java 语言的升级,一方面是 Oracle 的推动和现代语言的需要,另一方面也和 Java 平台上其他语言的迅猛发展带来的压力有关系。Java 发展缓慢,JVM 却是个好东西,除了 Java 跑在 JVM 上之外,还有 Scala、Groovy、JRuby、Clojure 等一系列编程语言新贵,目前看来,其中最值得重视的可能是后来居上的 Kotlin。事实上,其他小弟都是 Java 语言的补充或优化,犯上作乱的很少,人家也没这么大心思。Kotlin 不是,这位小弟是来砸场子的,它被设计出来的目的是取代 Java。

Kotlin 发布

Kotlin 是一门运行在 JVM(Java 虚拟机)上的现代编程语言,静态语言,因为目标是取代 Java,所以,Java 可以做的事情,可以待的地方,Kotlin 都能做,都能去。Java 不能做的事情,Kotlin 也能做。

Kotlin 并不是一门新语言,它诞生于2011年,是 JetBrains 公司开发的。写过 Java 程序的程序员有可能不知道 JetBrains,但是没听过 IntelliJ IDEA 的应该不多。IDEA 是 Java 领域最杰出的开发工具,一出道就与 Eclipse 并驾齐驱,深得 Java 程序员喜爱。IDEA 的特点是什么呢?效率高,入门简单,支持的开发框架范围极广,快捷键堪比 Vim,小白与大师级程序员的主要区别是用 IDEA 的时候碰不碰鼠标。和 Eclipse 不同,IDEA 一出生就充满了贵族的气息……嗯,主要是贵,一年差不多一千多人民币,还不打折。

这么贵会有人买吗?有啊,还年年买,因为在程序员的世界里,我们认为,贵就是好。

IDEA 为 JetBrains 带来了巨大的现金流,于是该公司令人发指的为每一个热门语言开发了一套 IDE,比如 PyCharm,Golang,Clion,PhpStorm,RubyMine,WebStorm……IDE 们立功了,它们一网打尽天下喜欢花钱的程序员,没有给 Eclipse 任何机会。

终于,JetBrains 开始不满足研发 IDE……因为给 Java 做 IDE 年头最久,Jet 的工程师们对 Java 语言的理解可谓丝丝入扣,知道哪里有问题,哪里有缺陷,哪里需要改进……有多少爱就有多少恨,于是他们决定开发一门语言替代 Java —— 别惹程序员现代版本:)

说干就干,2011年 Kotlin 发布,2012年开源,2016 发布1.0,迅速赢得之前不得不热爱 Java 的程序员响应,可谓振臂一呼,应者云集。2017年,Goolge I/O 大会宣布,Kotlin 语言成为 Android 平台开发一级语言。至此,Kotlin 完成了丑小鸭到公主的蜕变,开始突飞猛进,最新版本是 1.2。

Kotlin 命名

为什么这门语言叫 Kotlin 呢?和 Java(爪哇岛)有啥关系么? Kotlin 是俄罗斯圣彼得堡团队开发的,他们想和 Java 一样用一个岛来命名新语言,于是找到了位于圣彼得堡以西 30 公里处芬兰湾的一个科特林岛,英文就是 Kotlin,一门新的编程语言诞生了。

Kotlin 就像所有具备雄心壮志的小弟一样,目的就是取代 Java,坐上大哥的位置,现在进展如何呢?在编程排行榜上,Java 依然稳稳的坐在一哥的位置,俯视群雄,Kotlin 则以火箭般的速度从一个籍籍无名之辈进入了前四十。就像所有的黑帮片一样,想要坐上大哥的位子并不是那么容易的,Java 花了十几年的时间打败了 C,C 依然排在第二位,下一个王者是谁,没有人知道,但是这件事一定会发生,只是什么时候和由谁完成的问题。

Kotlin 具备这样的素质。

Kotlin 的应用场景和特点

Kotlin 可以开发强大的服务器端应用。简明和表现力强的代码,与 Java 的完全兼容和平滑的学习曲线足以让程序员选择 Kotlin 在服务器端编程。Kotlin 支持安全类型推断和委托属性,引入了协程的概念可以编写高可用服务,还有大量的第三方框架可用,比如 Spring、Vert.x、Ktor、kotlinx.html 等。最后,Kotlin 是 JetBrains 的亲儿子,自然有强大的 IDE 支持。

Kotlin 还可以进行 Android 开发,JavaScript 开发(将 Kotlin 转化为 JavaScript),Kotlin 还可以开发完全的原生应用,也就是把 Kotlin 语言编译成没有虚拟机的原生二进制程序,支持的平台包括 Windows、Linux、macOS、iOS、Android 等,从这一点,基本上可以看出 Kotlin 的雄心有多大了。

Kotlin 的语言有什么特点呢?

1、简洁,同样的功能实现比 Java 的代码要少很多。

2、原生支持函数式编程和面向对象编程。支持协程。

3、安全,可以有效防止程序员疏忽导致的类型错误。大部分错误都会在编译时发现,而不是在运行时。

4、类型推导,和 Swift 一样,Kotlin 的编译器可以根据变量在上下文的环境中推导出它的数据类型,而不是强制声明。

5、与 Java 100% 的互操作性,不需要任何转化和包装就可以调用 Java 对象,反之亦然。

……

Kotlin 比我之前见过的任何一个 JVM 编程语言都更具王者之气,应用范围和语法稳健并且实用。如果你是个 Java 程序员,是时候关注并使用 Kotlin 了,无论是公司还是个人。

喜欢小编轻轻点个关注吧。

原文地址:http://blog.51cto.com/13952975/2308483

时间: 2024-10-13 10:23:22

Java 10 发布,是时候关注 Kotlin 了的相关文章

Java 10更新汇总,新的编译器通吃主流编程语言

早些时候Oracle发布了Java 10,这是Oracle更改发布策略之后的第一版Java,Oracle现已决定每六个月发布一个新的Java版本,周期缩短了,但是并不是说我们要学的更多了,而是说缩短开发周期后,有助于更快修复bug,并提前放出新功能,因为时间短所以新功能并不是很多.本次更新主要有:局部变量类型推断,G1并行完全垃圾回收,以及测试版的Java-Based JIT编译器.更新详情如下: 局部变量类型推断:在Java 8 lambda表达式的类型推断基础上,Java 10现已可以对本地

OrientDB 2.2.10 发布,文档数据库

OrientDB 2.2.10 发布了,Orient DB 是一个可伸缩的文档数据库(入门教程qkxue.net),支持 ACID 事务处理. 更新内容: HA: allow overriding OLocalClusterStrategy java.lang.IllegalArgumentException: Cluster segment #-2 does not exist in databaseJDBC: null values(腾云科技ty300.com)Automatic backu

如约而至,Java 10 正式发布!

3 月 20 日,Oracle 宣布 Java 10 正式发布. 官方已提供下载:http://www.oracle.com/technetwork/java/javase/downloads/index.html . 在 Java 9 之后,Java 采用了基于时间发布的策略,每 6 个月一个版本.这是采用新的发布策略之后的第一个版本. Java 10 主要有 12 个新特性. 具体来看看. JEP 286: Local-Variable Type Inference 局部变量的类型推导. 很

Java 9和Java 10的新特性

http://www.infoq.com/cn/news/2014/09/java9 Java 9新特性汇总 继2014年3月份Java 8发布之后,Open JDK加快了开发速度, Java 9的发布已经提上日程.预计在2016年发布Java 9,同时公布了JEP(JDK改进提议)中的前期列表.任职于Takipi 的Alex Zhitnitsky整理了Java 9中一些纳入JSR(Java规范提案)的新特性和大家一直期待但未确定的一些特性.这些特性有Jigsaw项目.新的智能编译工具.期待已久

Java 10 实战第 1 篇:局部变量类型推断

现在 Java 9 被遗弃了直接升级到了 Java 10,之前也发过 Java 10 新特性的文章,现在是开始实战 Java 10 的时候了. 今天要实战的是 Java 10 中最重要的特性:局部变量类型推断,大家都知道是 var 关键字,但具体怎么使用,及要注意什么要点呢? 我们通过几个例子来讲解局部变量类型推断这个新特性! 什么是局部变量类型推断 var javastack = "javastack"; System.out.println(javastack); 大家看出来了,局

Java 9 被无情抛弃,Java 8 直接升级到 Java 10!!

前几天写了一篇 Java 8 即将在 2019 年停止免费向企业提供更新的文章,企图迫使用户向更新一代的 Java 版本升级,但让人遗憾的是,小编今天收到了 Oracle Java 版本的升级推送,装完居然是 Java 10 !!!! 很意外,为什么直接从 Java 8 升级到了 Java 10,去年未满一岁的亲儿子 9 呢??抱着怀疑的心态去 Oracle 看了下,置顶推荐的是 Java 10.0.1,9也不见了,真是6翻了.. Java 10 添加的新功能 var 也是让人咋舌!! Java

Ubuntu 19.10 发布 | 云原生生态周报 Vol. 24

作者 | 木苏.进超.冬岛.元毅.心水.衷源 业界要闻 1.云原生编程语言 Pulumi 1.0 pulumi ,一款中立的开源云开发平台,Pulumi 支持多语言.混合云环境.完全可扩展.初期支持 JavaScript.TypeScript.Python 和 Go 语言,支持 AWS.Azure.GCP 云平台,另外还支持所有兼容 Kubernetes 的公有云.私有云和混合云.Pulumi 实现了一种单一.一致的编程模型,一组编程工具,可管理所有以上环境,丰富的生态系统支持大量可复用的包.1

10个值得我们关注的python博客

大家好,还记得我当时学习python的时候,我一直努力地寻找关于python的博客,但我发现它们的数量很少.这也是我建立这个博客的原因,向大家分享我自己学到的新知识.今天我向大家推荐10个值得我们关注的python博客,这些博客的博主都会定期的更新而且他们的文章都很不错.下面是博客列表: 1.首先第一个肯定是毋庸置疑的Planet Python这是最出名的python博客其中之一,快去看看,我希望你能找到对你有用的东西,昨天它还更新了呢! http://planetpython.org/ 2.第

Java 10大精华文章收集001

Java语言与JVM中的Lambda表达式全解 Lambda表达式是自Java SE 5引入泛型以来最重大的Java语言新特性,本文是2012年度最后一期Java Magazine中的一篇文章,它介绍了Lamdba的设计初衷,应用场景与基本语法. http://www.codeceo.com/article/java-jvm-lambda.html 优化JVM 缩短Eclipse的启动时间 首先要声明一下,这个案例在<深入理解JVM虚拟机>这本书中也提到过. 这本书是我曾经学习JVM的第一本书