购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

推荐序

2016年,微软发布了.NET Core以拥抱开源,Java则停留在2014年发布的Java 8上。相较于笨重的Java,C#效率极高的语法让很多人耳目一新,不论是LINQ带来的集合查询能力,还是Lambda表达式带来的简易匿名函数声明,都为开发人员带来了极大的效率提升。虽然这些“语法糖”一度也被诟病为甜腻,但仍为.NET Core平台吸引了更多的粉丝,也让Java这位老大哥切实感受到了来自微软的威胁。

同时,在前端领域,VueJS还没有问世,但是React已经逐渐取代Angular成为主流前端框架。在React+Redux的单向数据流理念影响下,数据流的操作性变得越来越重要,随之应运而生的underscore.js和immutable.js风靡一时。集合的链式操作和不可变性在一部分前卫开发者心目中成为新的开发范式。

在这样的背景下,由于项目需要,我们的团队急切地期望在JVM平台找到一门能够提升开发效率的语言。Java 8的笨重让我们舍弃了它,而JVM平台的另一门语言Scala又太过于灵活且学习曲线相对陡峭,因此很难在新团队中广泛使用。于是Kotlin进入了我们的视野。2017年,我们第一次接触并在项目中使用Kotlin。

Kotlin在开发效率和学习难度之间找到了很好的平衡,我们的骨干程序员仅用一天时间就完成了简单的demo,并向团队成员讲解了Kotlin各种有趣的用法,团队很快接受了这门新语言。随之我们也发现了问题:由于Kotlin对于大部分的Java语法特性都是支持的,因此很多团队成员开始写出Java风格的Kotlin代码——使用复杂的循环操作而不是对集合的链式操作,大量使用可变量而不是不可变量,数据校验throw exception而不是使用require语句……不一而足。团队开始对新语言产生质疑,尽管之后在我的坚持下,团队逐渐适应了Kotlin的工作方式,但这件事情也开始让我们意识到:新技术的引入要作为一项系统性的工程来管理,而不能仅凭借几位优秀程序员的一腔热情。

所以,当看到本书时,我倍感亲切。书中的内容真实地呈现了我们团队在当年所遇到的困境,如果那个时候能有这样一本指导手册,相信我们的技术转型工作会事半功倍。

我也很开心能把这本书推荐给各位读者,今天的编程语言相较于数年前又有了长足的发展。Kotlin在成为Android官方语言后得到了越来越多开发者的使用。感谢凯捷中国数字化团队的各位译者和参与审校的同学,相信这本指南能够帮助更多像我们一样的数字化团队,更快地解决在引入新技术时遇到的诸多问题,更早地享受优秀语言所带来的各项便利。

开卷有益,是为序。

——曲哲,凯捷沈阳数字化研发中心负责人 H3IFVhD3c8ZcTDwE5LfHvhVWrjJiC2x07dLHeQCZYIPGJT69Dz3j4Ua0+LGdgGD1

点击中间区域
呼出菜单
上一章
目录
下一章
×