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

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 了,无论是公司还是个人。

关于 Kotlin,我也在学习过程中,未来还会写一些学习笔记,希望大家喜欢。

资源推荐

1、Kotlin 中文站: https://www.kotlincn.net

2、Kotlin 心印 —— 交互式编程练习: https://www.kotlincn.net/docs/tutorials/koans.html

3、电子书: https://gitbook.com/book/hltj/kotlin-reference-chinese

原文发布于微信公众号 - java工会(javagonghui)

原文发表时间:2018-04-20

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏牛客网

美团大零售事业群-闪购 一面(已通过)

以前以为坚持就是永不动摇,现在才明白,坚持是犹豫着退缩着心猿意马着,但还在继续往前走。——《意林》

731
来自专栏java工会

学java就两个问题

1708
来自专栏程序员互动联盟

【编程基础】谈谈C++语言--磨刀霍霍

看到上篇讲的《C++语言软件和编程》引发了大家的热议,小编很是激动。有人评论说C++是我们程序猿在虚拟世界的恋人,小编还真是暗暗欣喜了一下下--理解万岁!在此声...

35712
来自专栏Java学习网

如何编写可靠的代码

介绍 当你得到一个小older-my但你妻子说我不是老愤世嫉俗者。这是为什么许多老男人不要说(或写)那么多:我们知道没有人注意。当你获得AARP另一个问题是,你...

3058
来自专栏斑斓

敏捷实践 | 代码是如何腐烂的

代码是如何腐烂的?这是一个很大的命题,因为这种腐化的代码样本可能会体现不同的特征。若要彻底总结,可能会又是一本《重构》。我自然没有这个能力和知识。好在有一个简便...

34210
来自专栏程序人生 阅读快乐

编译原理

《编译原理》作者Alfred V.Aho、Ravi Sethi和Jeffrey D.Ullman是世界著名的计算机 科学家,他们在计算机科学理论、数据库等很多领...

972
来自专栏C语言C++游戏编程

C语言七夕必备神器,待那烟花灿烂时,依旧做个单身狗

缘是美丽的邂逅,爱是心跳的感觉,情是心灵的交会,恋是甜蜜的思念,走在爱与被爱的边缘,你见或者不见,爱你的心始终不改变!C语言诠释爱——为TA写下心中情,生成程序...

1815
来自专栏精讲JAVA

程序员们,曾经是否有个bug让你开始怀疑人生

相信程序员们都有一个共同的女朋友。这个女朋友总是阴魂不散,时不时还不忘调戏下男朋友程序员,而且你依然对她欲罢不能、想入非非。

762
来自专栏码神联盟

碎片化 | 第四阶段-47-值栈细节问题-视频

本套视频从Java基础到架构模式以及AI算法,整体视频以“碎片化”学习的模式,提供给大家 ,并配备实际项目为案例,让大家在坐车、吃饭、午休、蹲坑的时候,都可以学...

3255
来自专栏程序员八阿哥

王老板Python面试(3): 一个初级python web后端开发工程师的面试总结

之前一直在做C++的MFC软件界面开发工作。公司为某不景气的国企研究所。(喏,我的工作经验很水:1是方向不对;2是行业有偏差)。

792

扫码关注云+社区