查看原文
其他

Java vs Kotlin,Android开发人员应该选择哪种语言?

2018-03-22 Tamic 开发者技术前线

都快一周没有更新原创文章,估计你都快取关了吧,今天抽时间谈谈自己对Java 和 Kotlin发展的看法。


自 Google 于 2017 年宣布 Kotlin 成为 Google IO 的 Android 开发官方语言以来,想要成为Android开发人员的程序员正陷入两难境地。


在讨论这个问题前,我首先要明确一点,不要陷入编程语言战争,不要进行语言鄙视,只要能赚钱的编程语言就是好语言。

最近看到这样一篇文章:Android 冬天来了, 其实吧, 技术菜的人,同样 iOS冬天来了,PHP冬天来了,python冬天来了,每年都是冬季,哪有春天可言? 人工智能来了,是不是程序员死了


我作为一名程序员,深知 Android的发展并不像在2012移动风口时那么热门, 但是Android开发也不是寒冬,天天网上唱衰这语言,助兴那语言,真的没必要瞎操这个心,这是google操心的事

在我们面前真实的一个大问题 我们学习什么,怎样提高技术,说难听点就是怎样多赚钱,对于今天的话题 更是我应该学习Kotlin还是Java?


如果你是一个想要学习Android开发的编程初学者,那么我建议学习Java,如果你是一个想要进入Android App开发目前待遇不错的Java开发人员,那么我建议是Kotlin。今天解释下面两个问题。


1 为什么Android初学者应该先从学习Java开始?

什么Java开发人员应该在开始学习Kotlin?


当我说初学者应该从学习Java开始的时候,你可能会想:“为什么?Kotlin更加高效,代码更简洁,并且也是Android开发的官方语言"而且这个人建议学习Java。并不是唱衰Kotlin....."


那么,作为一名Android开发,我的观点可能有点偏见,。


Android开发初学者应该先从学习Java开始

作为一名程序员,我知道我的粉丝大都是搞Android开发的,但如果你是做Java开发的,你的职业瓶颈相对较高,这意味着你有更多,更高薪的就业机会。


其次,目前Java也拥有自己强大的开源社区,当你遇到问题就能通过这些找到答案。

作为初学者,会遇到很多技术问题,当我们在Google搜索问题时,肯定会得到答案;

相对Kotlin来说,还是一种新的编程语言,很多开源项目还未成熟,并且也相对稀少。


此外,还有很多关于android开发的教程,书籍和课程,包括免费和付费的,这些教程可以让你先用java语言开始入门Android开发之路,但对于Kotlin来说这块资料并不多,特别是在Android上的免费资源,在国外很多关于kotlin的进阶教程大都收费的。


随着越来越多的程序员开始使用Kotlin开发,情况肯定会有所改善,但我怀疑它会撼动Java编程语言的主流使用地位。



但是,这不是一条硬性的建议,如果你更喜欢学习Kotlin,并且数学不太好,并且主要想或者已经从事Android开发,那么肯定是从Kotlin开始学习,目前Android Studio已经支持kotlin开发,

但是,一旦你熟悉Java语言,你的Kotlin之旅也将变得简单和顺利,因为Kotlin完全与Java互相支持调用。它依然编译成Java字节码并在JVM上运行。


Java程序员应该学习Kotlin

对Java开发人员来说,我认为最好学习Kotlin,因为它确实提高了开发效率。


一个在Java中使用50行代码的类可以在Kotlin中只写一行。

它可以帮助你避免所有的火车代码(说了一大堆不知道写的是什么),例如你不需要指定getter和setterequals()hashCode()toString()方法。Kotlin可以自己生成所有这些。我对KotlinJava在开发编写生产力和编写类似代码的代码方面进行了比较:



如果你不知道Kotlin是由JetBrains开发的,后者也是最流行的Java IDE之一IntelliJ IDEA的后台。

他们是一家Java 工具开发商,正在开发像IntelliJ IDEA,PyCharm和ReSharper这样的IDE,所有这些都是用Java编写的,并且构建了Kotlin来提高他们的工作效率,但同时他们不能在Kotlin中重写所有的代码,所以这就是为什么他们让Kotlin与Java完全互通。


因为Kotlin生成Java字节码,所以可以在Kotlin中使用你最喜欢的Java

框架和三方库,并且其他Java开发人员也可以使用你开发的Kotlin框架。


即使是Spring, 有个主要的Java框架 已经开始从Spring5.0 开始支持Kotlin了, 可见对于java 人员,Kotlin的未来前景蛮鲜明。2017 年开发者生产力报告: Kotlin 很受 Java 开发人员的欢迎


尽管目前几乎所有的Android代码,示例demo 和App都是用Java编写的,但这种情况维持不了多久,因为Google从宣布Kotlin是Android应用程序开发的官方语言以来,都对Kotlin进行了大量的推广,在不同开发者大会都会进行技术演进,并且想facebook, Squre等公司已经切到kotlin开发,国内也有一些独立开发者编写Kotlin教程,虽然国内App目前并没有公开说明已经使用kotlin语言。

但是很多多公司已经开始使用Kotlin开发Android应用程序,这也是我认为Java,和android高级进阶开发人员应该在今年学习Kotlin的主要原因。


顺便也说下本人所创建的知识星球(开发者思维),主要学习Android和java的,人数也不是很多,就260左右,所以不建议其他语言的开发者入坑。星球这块我并没有去频繁宣传,但还是会每天有人进来,想加入的点击原文。

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存