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 条评论
登录 后参与评论

相关文章

来自专栏idealclover的填坑日常

从零开始的 ubuntu 18.04 重装之路

接下来的日子要开一个大坑 还不是自己给自己开的大坑 因为自己的windows10+ubuntu18.04系统出了一些故障,所以被迫重新安装了ubuntu 18....

3432
来自专栏编程一生

大话高可用

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

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

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

4705
来自专栏斑斓

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

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

35710
来自专栏炉边夜话

拥抱变化—— 可扩展性杂谈

                                                                                ...

931
来自专栏JavaEdge

软件设计七大原则实战(二)-开闭原则1 开闭原则的定义2 开闭原则的庐山真面目3 实例

开闭原则是Java世界里最基础的设计原则,它指导我们如何建立一个稳定的、灵活的系统,先来看开闭原则的定义: Software entities like cl...

2052
来自专栏java工会

学java就两个问题

1918
来自专栏Android开发实战

Python自学之路

‘’坚持不是一件容易的事情,兴趣是最好的老师‘’,等你坚持过后你总会这么对别人侃侃而谈。

1773
来自专栏精讲JAVA

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

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

912
来自专栏牛客网

【360烤面筋】

【每日一语】生存在我们每个人体内的,一到时候,它就会抖掉身上的尘土,慢慢地萌芽开来。——《穿条纹睡衣的男孩》

692

扫码关注云+社区