Kotlin的优势是在Java生态上,大量信手拈来的资源,也可以让团队平缓的过渡。

但是这也是双刃剑,就是使Kotlin成为锦上添花的角色,无论项目还是招聘都还是先考考你java怎么样啊,这就使得团队里面的人(包括工程能力强的牛人)可以光明正大的偷懒,比如并不愿意好好学Kotlin,出了问题也没什么。会让喜爱并投资了大量时间精力去学Kotlin,去实践Kotlin的人心冷的,因为老板或者领导往往不会觉得你多弄了点Kotlin就怎么样了,不就是个工具嘛。反正公司核心都是Java撑着的。

反观Go是独立生态,如果不好好学,搞砸了就不好了。所以既然来到Go团队的人都会好好学,好好搞,这种气氛是喜爱技术的人向往的。

Kotlin让我想到Scala,记得以前知乎有阿里的人回答问题说,阿里很多大数据技术牛人,也对Scala一知半解,基本就是Spark用到哪里就稍微学点呗,你说,如果你是一个喜爱Scala技术的人,还用业余时间大量学习了Scala的语言+工程方面的东西,会特别喜欢在这种团队吗?说不定那些大数据技术大牛遇到scala问题还会到你这里免费取经,哈哈,当然你也可以这么想,各取所需,你也可以更方便的免费找那些大牛取经。但是,如果你是实用主义,也会变成和那些大牛一样的,精力会放在解决工程问题上的,Scala已经不重要了。为什么会这样呢,根本原因就是Scala是依托了Java平台。

而用了像Go,Python这种独立生态的语言,学习语言实践语言是和解决工程问题紧密相关的,比较单纯。很多技术人员恐怕比较喜欢这种感觉吧。

Go和Python社区的人如果哪位说自己工程能力很强,但就是不喜欢学Go和Python,代码写的也跟初学者一样漏洞多多,会被鄙视的吧。但是我猜公司里面用Kotlin和Scala的家伙,就可以光明正大的说,我对Kotlin和Scala不感兴趣,我只对解决工程问题感兴趣,哈哈。

---------------------------------------------------------------------------------------------------------------------

成功的把题目从Go和Kotlin歪到我喜欢的Scala上,不错不错~