Google IO 2017 上宣布,将Kotlin语言作为安卓开发的官方语言。Kotlin由JetBrains公司开发,与Java 100%互通,并具备诸多Java尚不支持的新特性。谷歌称还将与JetBrains公司合作,为Kotlin设立一个非盈利基金会。
Kotlin 是一个基于 JVM 的静态类型编程语言,Kotlin可以编译成Java字节码,也可以编译成JavaScript,方便在没有JVM的设备上运行(是不是因为这一特性谷歌选择它,最终代替Java和JVM?现在只是猜想)。
Kotlin的第一个Issues在2011年,相比Java的1995它还太年轻,但由于Google的选择,它会更快速的成长。就从Google IO 2017 以来这两天,Kotlin的文章数量,就可窥见一般。
CSDN随即推出最新一期观点:Android 新推出的官方语言 Kotlin 会取代 Java 么?
我们看到,正方观点的文章有很多,可反方投票的人很多,文章却没有一个;
这让我这个不懂Kotlin的人也想写点什么!
下面我们就来看一看有哪些不被看好的原因:
1、相比Java,它还太年轻
这意味着社区还不成熟,很多问题还没有暴露出来,你在网上也不容易找到解决方案;
你去提问,由于会的人少,也很难及时得到正确的解答;
成熟的框架少,当然Spring可能正在使用Kotlin来重写;
但是,如果你喜欢尝鲜,喜欢踩坑,这是一个好选择;
当然,现在不学,等什么都OK了再学就错过风口了;
2、想吃语法糖,还是需要剥皮的
它的语法也不是完美到无可挑剔,有些语法糖还是让人感觉多此一举。
var currentVersionName : String = "1.0" //显式标明类型
这种语法也不够简洁,既然显示标明还不如直接用
String str = "1.0";
为了兼容Java,也做了一定的牺牲,例如语句结束符分号;你到底是写还是不写呢?
解决空指针异常的方法是后面加问号,这是学习了Freemarker的语法吗?
fun main(args: Array<String>) { val person: Person? = null String abc = "123"; person?.name = "John" println("hello world" + person?.name ) }
百分百兼容Java,你在Kotlin文件中写一句Java代码试试!上面这段加了“
String abc = "123";
”就异常满天飞了。
所以说,所谓的兼容只是允许同时使用两种语言编写各自的文件,而不是允许你在一个文件中用两种语言。
你能理解这些异常是神马意思吗?
另外有文章提到使用扩展的方式取代Util类,完全不能理解。
有些语法上也确实挺简洁的,可以参考:http://blog.csdn.net/sergeycao/article/details/54984108
3、各大招聘网站招聘Kotlin职位的数量用手指可以数过来
感兴趣的可以去自己知道的招聘网站搜索一下看看。
这就有一个很严重的问题,你学了可以没有公司用,短期只能是知识储备,当然有一名话说的好:机会是给有准备的人的;
4、排名太低
通过 https://www.tiobe.com/tiobe-index/ 可以看出,kotlin 还没有进入前 50 名;从排名可以看出它目前的认可程度还比较低。
小结
这里只是列举了几个短期不看好 KotLin 原因,长期来说,Google选择了它,你认为Google错了的机率有多大呢?
如果你预见它比较有潜力,有发展,如果现在还不快点开始学习它的话,等到上面几个原因都消失的时候,那就为时已晚了。======================文档信息===========================
版权声明:非商用自由转载-保持署名-注明出处
署名(BY) :testcs_dn(微wx笑)
文章出处:[无知人生,记录点滴](http://blog.csdn.NET/testcs_dn)
==============本文首发于个人微信订阅号(微wx笑)============