前言
今天早上翻阅技术博文,突然看到题为“是时候来学习kotlin”的文章,想想kotlin自google亲自指定为android开发语言也有一年多时间了
这一年,各种学习资料铺天盖地,也有许多团队将原有java项目转为kotlin,但是其中的心酸苦辣,可能只有开发人员自己才能深切的体会到;
借用鸿洋大哥的原话:
太多开源库开始使用Kotlin作为语言开发了
一批优秀的博主开始使用kotlin作为示例代码了
特别是AS3.0发布之后,可以不用集成插件就可以进行kotlin开发,这也加速了一些项目团队将java项目转为kotlin;
那么,我们今天就来聊聊,kotlin对于我们的价值在哪里。
如果需要了解kotlin的基本特性和插件化部署kotlin环境请猛戳:Kotlin之学习心得
市场价值
1、kotlin来自于著名的 IDE IntelliJ IDEA(Android Studio 基于此开发) 软件开发公司 JetBrains(位于东欧捷克);来自知名的工具开发商 JetBrains,也就决定了 Kotlin 的基因中必然包含实用与高效等特征
2、2017年Google的IO大会上,指定kotlin为Android的官方语言,有大佬的鼎力支持,相信kotlin的道路会越走越宽;
3、Kotlin是一个开源项目,主要在Apache 2,并不属于某一个公司,在这个开源的时代,这确实是难得的;
4、许多技术论坛上都说,kotlin超越java的可能性很高,我相信这并不是空穴来风的说法,其背后一定有支持这一说法的数据
语言价值
使用过,或者接触过kotlin的小伙伴都知道,kotlin也是集优点于一身的:
1、完全兼容java,无须担心兼容问题;
2、由于和Java非常相似字节码结果,Kotlin运行速度和相同的Java代码一样块,随着kotlin版本升级,编译性能也有显著提升;
3、kotlin语法简洁,并支持高效的增量编译,大大减少了编译时间;
4、能够在项目中提升开发效率;
对于具体的语法细节,我们在此不作讨论
以上这些是程序员最希望看到和得到的,从远期来说,kotlin将是我们成为一名更好的程序员
缺点
不管哪一门语言,都会有各种各样的缺点,没有完美的语言
最近看的文章中,有团队从java转到kotlin,再从kotlin转回到java,那么我们来看看都有哪些理由让他们放弃kotlin:
1、Name shadowing名称遮蔽
看下列函数:
当调用inc(1)会输出什么呢?在Kotlin中,方法参数是不变的值,所以你不能改变num这个方法参数,这个输出结果是“2”;
同样的函数在java中,是无法通过编译的:
名字遮蔽不是Kotlin发明的。这在编程语言中很常见。在Java中,我们习惯用方法参数来映射类字段;
所以以上缺点算起来应该说是严重的情况。
还有其他一些缺点是在书写代码中体现的
以上就是个人对kotlin的一些看法,虽然kotlin目前来说,可能还没有java那么健壮,但是我详细kotlin的发展,定会赶上甚至超越java(个人观点)