后起之秀:Kotlin
自从在今年 Google I/O 2017 开发者大会上, Google 宣布正式把 Kotlin 纳入 Android 程序的官方一级开发语言(First-class language)以来,对于 Kotlin 和 Java 的争论一直持续着,其主要关注点在于 Kotlin 是否真的能够取代 Java 。
随着喧嚣的逐渐平息,越来越多的人开始同一这样一种观点:后起之秀 Kotlin 要取代老牌常青藤 Java 的霸主地位,还有很长一段路要走,但不可否认的是, Kotlin 相比于 Java 具有众多的优势,如语法简洁、空安全检查、支持 Lamda 表达式等等,并且 Kotlin 还能与 Java 无缝衔接,这让很多开发者从 Java 转向 Kotlin 的道路相对平缓,也大大增加了使用 Kotlin 的开发者人数。
事实上 Kotlin 并不是一门全新的语言,早在2011年7月,JetBrains 就公布了一个他们为之工作了一年的的项目:一门基于 JVM 的新静态语言—— Kotlin ,直到现在,它已经经过了6个年头,但与 Java 的21年历史相比,这门语言还是略显年轻。
当时的 Kotlin 致力于解决 Java 当中的空安全问题和代码冗长的问题。Java 的代码好处是格式规整,一目了然,但它的缺点就在于代码冗长,往往用 Python 十行就能表达的逻辑,在 Java 中所需要的代码量是三倍还多,Kotlin 的简洁语法让程序员从繁重的代码中解放出来,从而进行更高效的编程。
Java 的另一个问题则体现在对 Null 的处理上,在 Android top crashes 的排名上,第一名就是 NPE (Null Pointer Exception) 。长期以来,空饮用一直是让程序员头痛的一个大坑,甚至酿成过“价值十亿美元的错误”,而 Kotlin 可空类型的出现以及在编译阶段对空引用的检查,将许多程序员从这个陷阱中解救了出来。
经过多年的发展,Kotlin 已经成为可以在 JVM, Android, 浏览器上运行的静态语言,除此之外 Kotlin/Native 已经支持 iOS 和 Web 开发,大有一同天下的气势。
从目前的统计数据来看,Kotlin 在成为主流的编程语言上虽然还有很长一段路要走,但这不意味着我们就可以不去学习和了解 Kotlin。身为软件开发者和学生,我们应当时刻对怀着热情的态度,去拥抱新技术。