《Kotlin核心编程》 ——1.3 Kotlin—改良的Java

举报
华章计算机 发表于 2020/02/21 20:01:43 2020/02/21
【摘要】 本节书摘来自华章计算机《Kotlin核心编程》 —— 书中第1章,第1.3.1节,作者是水滴技术团队 。

1.3 Kotlin—改良的Java

2010年,JetBrains产生创造Kotlin的想法。关于大名鼎鼎的JetBrains,想必在业内是人尽皆知,知名的IntelliJ IDEA就是他们的产品之一。拥有为各种语言构建开发工具经验的JetBrains,自然是对编程语言设计领域最熟悉的一群人。当时,一方面他们看到了C#在.NET平台上大放异彩;另一方面,Java相比新语言在某种程度上的滞后,让他们意识到改良Java这门主流语言的必要性。

JetBrains团队设计Kotlin所要面临的第一个问题,就是必须兼容他们所拥有的数百万行Java代码库,这也代表了Kotlin基于整个Java社区所承载的使命之一,即需要与现有的Java代码完全兼容。这个背景也决定了Kotlin的核心目标—为Java程序员提供一门更好的编程语言。

1.3.1 Kotlin的实用主义

Kotlin常常被认为是一门近似于Scala的语言。的确,它们的诞生都源于对Java语言的改良,同时都在面向对象和函数式之间建立起了多范式的桥梁。不可否认的是,Kotlin确实从Scala身上借鉴了许多,就连它的创作团队也表示过:“如果你用Scala感到很开心,那么你并不需要Kotlin。”

然而,Kotlin与Scala的设计哲学又十分不同。Kotlin并没有像Scala那样热衷于编程语言本身的研究和探索。相反,它在解放Java的同时,又在语言特性的选择上表现得相当克制。

我们说过,Scala旨在成为一门程序员梦想中的语言,它包含了所有你想拥有的语言特性。而Kotlin更加立足现实,它现阶段仍没有宏,也拒绝了很多所谓的高级函数式语言特性。但它在Java 的基础上发展出很多改善生产力的语言特性,如数据类、when表达式(一定程度上的模式匹配)、扩展函数(和属性)、可空类型等,而且它似乎偏好语法糖,比如Smart Casts,因为这可以让编程人员的工程开发变得更加容易。

可以看出,Kotlin的自我定位非常清晰,它的目标就是在计算机应用领域成为一门实用且高效的编程语言。如果说Scala的设计理念是more than Java(不仅仅是Java),那么Kotlin才是一门真正意义上的better Java(更好的Java)。


【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。