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

开发者技术前线

共 2809字,需浏览 6分钟

 ·

2020-12-01 14:02

点击“开发者技术前线”,选择“星标?”

让一部分开发者看到未来

作者:老白

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


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


2020,Java 程序员薪资不再垫底,Python 被 TypeScript 击败!第一语言你绝对想不到! 其实吧 ,Kotlin是一门小众语言,意味着得java者得永生,但是Android并不是寒冬, 技术菜的人,同样 iOS冬天来了,PHP冬天来了,Python冬天来了,每年都是冬季,哪有春天可言?人工智能来了,是不是程序员都要去死了


博主作为一名程序员,深知 Android的发展并不像 在2012 移动风口时那么热门, 但是Android开发也不是寒冬,天天网上唱衰这语言,助兴那语言,真的没必要瞎操这个心,这是Google等语言解释者操心的事。只有找不到工作的人,没有找不到工作的语言。


放在我们面前真实的一个大问题, 毕业要(或者入门在职2年内)学习什么?怎样提高技术?说难听点就是怎样尽可能的多赚钱(待遇跑赢房价涨幅),对于这个话题 ,确切说是后端开发是应该学习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开发,目前也有一些公司采用kotlin开发项目。


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


值得一提的是

 Android和iOS学习的关键不在于对kotlin和Swift 掌握有多神化,目前环境技术已经成熟的背景下,学习的关键就在于对整个技术横向的衍生。


比如:一套代码是不是能兼容多个端,做一个监控系统,如何追踪三端用户轨迹等等!做一个测试工具是不是覆盖所有场景等!


实际上比直接研究语法和api高很多,未来市场也需要偏策略性的编程工程师,无需大量造轮子的工程师,目前很多公司业务稳定,项目已经有了自己的架构设计,新人进去需要的并不是将技术突破,而是将业务代码写的优秀的,策略写的精简点!节约公司人力成本。



Java程序员应该懂Kotlin


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


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

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



如果你不知道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的未来还是可期的。


最后

首先学习哪种编程语言并不重要,重要的是在通过编程思维来不断提高自身的技能,从而提高职业生涯长度。其次,说难听点还是那句话尽可能的赚钱(待遇涨幅房价涨幅)当然这只是最理想的状态。但它未必不是一个影响你学习哪种语言的原因。


— 完 —


前线推出学习交流群一定要备注:研究/工作方向+地点+学校/公司+昵称(如目标java+上海+上交+可可),根据格式备注,可更快被通过且邀请进群

扫码加我微信进群,内推和技术交流,大佬们零距离



END


点个在看吧
浏览 24
点赞
评论
收藏
分享

手机扫一扫分享

举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

举报