第399期“新”语言Kotlin

Posted 北大青鸟教育研究与评论

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第399期“新”语言Kotlin相关的知识,希望对你有一定的参考价值。

【导读】

Kotlin是一个基于 JVM 的新的编程语言,目前用Kotlin语言开发项目使用的IDE环境,做Java项目用IntelliJ,做android项目用AndroidStudio,这两个IDE环境也都是由JetBrains公司开发的,并且已经成为了市场的主流IDE工具。Kotlin虽然是一门新的语言,但是对于Java来说他是百分之百兼容的,具有这样的特性,就使我们在使用Kotlin时不需要重复的造轮子,可以非常方便的调用现有的所有用Java开发的库。并且我在使用中有一种错觉,就是使用Kotlin调用Java代码比Kotlin调用Kotlin代码还要省心、方便。这是Kotlin对于现有Java存量资源的支持方面。

另一方面,KotlinJava是可以混合编译的,这是什么意思呢,就是说在一个项目里是可以同时存在KotlinJava开发的代码的。这种同时存在的是以文件为单位的,在同一个代码文件中你只能使用一种语言开发,但是文件与文件间的代码调用起来没有障碍。这样的特点就允许项目在任何阶段引入Kotlin。而且哪怕是在使用Kotlin中遇到了难于解决的问题,也只需要将某个文件的实现方式从Kotlin改为Java就好了,试错的成本很低。这些都是从JavaKotlin切换时的优势。

那么已经了解了Kotlin可以无缝的参与到现有的项目开发,那么为什么要使用Kotlin替代Java呢?原因很简单,Kotlin简洁,强大,能够有效的提升程序的健壮度。这里我举几个例子。

  1. 变量的空安全验证。NPENullPointerException)是几乎每个使用Java语言进行开发的程序员都遇到过的运行时错误,是导致程序崩溃的重要原因之一。在Kotlin中,引入了空安全概念,在语法层面上对null值做了限制,在编译阶段提醒开发者确保不会出现NPE错误。

  2. 在语法中引入Lambda表达式等技术,提供了很多的语法糖,使程序员在开发相同功能时可以节省大量的代码,并且在代码的可读性上比Java更加的直接。

  3. 在我的使用中,有一个Kotlin非常好的对于字符串的拼接功能。Kotlin允许通过$将变量或表达式的值插入到字符串当中,这比Java中常用使用+进行字符串拼接可读性更加的高,是一个可以极大提升编程体验的小改变。

    上面只是简单的举几个Kotlin语言相比于Java好用的情况,当然Kotlin还有更多好用的技术点等待着使用者去发现。

    Kotlin虽然有各种各样的优点,但它现在毕竟只是一个刚刚被大家了解的语言,在使用的广度上无法和Java相提并论,并且从我的培训经验和对Kotlin的理解上来看,Kotlin并不适合作为入门语言来学习,因为相比于Java它在语法层面做了大量的改变,这些改变当你能够熟练掌握时很简洁,很优雅,但是对于初学者来说理解的难度就高了很多。

    对于学员来说,我认为最优的模式是以Java入门,进行大量的工程训练充分掌握Java语法,然后在培训的后期或完成培训课程后通过3~4天的集中学习和训练,学员就能够快速的掌握Kotlin。是的,通过我学习和使用这门语言的经验来看,一个熟悉Java的程序员仅需要系统的3~4天的学习,就能够很好的掌握Kotlin并将Kotlin用于实际的开发当中。这门语言对于有经验的Java开发者来说门槛是非常的低的。

    在编程的世界里,大牛们的示范作用是非常大的,有Google的大力支持,众多语言爱好者的大力推荐,以及亲身的使用体验。从技术上来说,Kotlin逐渐扩大市场是一个趋势,从培训角度考虑,应给予足够的重视,并在合适的时间适时的推出符合市场需求的相应产品。

 


以上是关于第399期“新”语言Kotlin的主要内容,如果未能解决你的问题,请参考以下文章

第2220期前端函数式演进之函数式思维和前端特征

大事件:Kotlin 成了 Android 开发的官方语言

一觉醒来,Kotlin 成了 Android 的官方开发语言

以 Kotlin 为例浅谈如何学习程序语言

第1558期ES5 to ESNext —  自 2015 以来 JavaScript 新增的所有新特性

第1006期ECMAScript 6 新特性