事件:2017年,谷歌宣布Kotlin成为Android的一级开发语言。
原由:创造java平台的sun公司被甲骨文收购,甲骨文向谷歌索赔巨额专利使用费,谷歌打官司输了。导致谷歌需要一种语言来替换java。
影响:对于Android开发而言,以后的官方文档、视频资料和demo等都将替换成kotlin,那么作为Android开发,要想获取第一手官方资源,势必需要懂得Kotlin。Kotlin已经成为想要在Android这条路上继续发展的必备技能。
问题:为什么Android的开发语言可以使用Kotlin来替换java?
1.编程语言分为编译型语言和解释型语言。
比如c,C++就是编译型语言:编程语言会被编译成计算机可以识别的二进制文件,再执行。比如Python、javaScript就是解释型语言:解释器会一行行读取我们写的源代码,然后解释成计算机可以识别的二进制文件,再执行。
2.java属于解释型语言。
java虽然需要编译再运行,但是没有直接编译成计算机可以识别的二进制文件,而是编译成一种特殊的class文件。然后再由java虚拟机担任解释的角色,将class文件解释成计算机可识别的二进制数据后再执行。在Android中ART就是一种移动优化后的虚拟机。
3.Kotlin就是将编程语言编译成和java相同规格的class文件,然后交给虚拟机来识别。
进化:Kotlin作为后发的高级语言,对于java的一些缺陷做了优化,比如空指针,还有一些高级语法特性。