kotlin和java的发展 我听很多人说JAVA已经过时了,下一个要淘汰的语言就是JAVA,真的是这样吗?

[更新]
·
·
分类:互联网
1892 阅读

kotlin和java的发展

我听很多人说JAVA已经过时了,下一个要淘汰的语言就是JAVA,真的是这样吗?

我听很多人说JAVA已经过时了,下一个要淘汰的语言就是JAVA,真的是这样吗?

先说结论:Java正在过时,并且可能会被淘汰。
每次有人唱衰Java的时候,都会有一群Java程序员愤怒地出来反驳,我也曾是其中的一员。但是现在我更喜欢尊重事实,拿数据说话。
TIOBE编程语言社区指数
从TIOBE网站每月提供的编程社区指数,我们可以清晰地看到,Java的占比从2001年6月的26.49%逐渐减少到今年(2021)6月的11.54%,20年间下降了15%。这个排行榜是根据互联网上有经验的程序员、课程和第三方厂商的数量,并根据各大搜索引擎的搜索热度以及Wikipedia、Amazon、YouTube统计出的排名数据,可以说能够客观反应出各编程语言的热门程度。因此,我们可以得出结论:Java正在逐渐走向衰落。
下面我将试着分析Java市场份额逐渐减少的原因,以及Java语言的优缺点,希望能对你有所帮助。
Java占比减少的原因:
各种新语言的崛起。Java鼎盛的时候,市场的竞争对手很少。而这些年,随着计算机硬件的发展以及互联网的普及,各种编程语言也随之井喷式地出现。每种相对热门语言出现和发展都会吸走一部分热度,并带起新的一波唱衰Java的节奏。这些语言的代表早期有C#,最近有Go。JVM体系中一些“Better Java”的出现。由于Java语言本身的一些弊病(下文会详细说),JVM上出现了一些语言,如Scala、Groovy、Kotlin,它们打着“Better Java”的旗号,采用和Java互通的形式发展。一些对Java体验不满的团队,可能会选择转向这些语言。互联网热点的切换。前些年服务器端编程可能是互联网领域的主流,近年来由于机器学习、大数据等概念的兴起,对这些概念支持更好的语言得以兴起,如python、R、Scala等。Java语言自身的缺陷。Java语言的缺陷:
语言特性不够丰富。Java具有跨平台和向下兼容这两大卖点,但它们同时也是Java语言沉重的包袱。带着这些包袱,Java只能缓慢保守地增加语言特性。一些其他成熟语言具备的特性,Java只能选择不支持或通过替代的方式支持。如Java中没有函数的数据类型,使用“类型擦除”的方式实现泛型等。语法过于啰嗦。Java的样板代码可能是所有编程语言里最多的。Python程序员100行代码可以搞定的事情,Java程序员可能要写上500行代码。应用场景不是刚需。Java虽然在服务器编程方面找到了统治地位,但是这种统治地位并不牢固。具有服务器编程能力的语言太多了,如php、python、Go、dart等,甚至js这种浏览器端的语言也来凑个热闹,搞了node.js专门用于服务端编程。对多线程的支持不友好。Java对多线程的支持设计得非常不友好,即使经验丰富的程序员,也容易编写出产生致命缺陷的代码。Java语言的优势:
上手简单。Java的语法少,并且非常符合直觉,非常适合作为新人的入门语言。生态完整,社区活跃。有海量的第三方框架和依赖包,基本上各个领域都能找到成熟的解决方案。跨平台。对各个平台的支持比较完善,基本可以实现“一次编写,到处运行”。存量项目多。Java运行在数以亿计的硬件设备上,这些系统的维护工作足以养活一大批Java开发的程序员。Java程序员何去何从?
首先不要过分焦虑,Java被淘汰不会是一两天的事情。其次不要把鸡蛋放在一个篮子里,多掌握一些技术,技多不压身。最后提高对自己的要求,多修炼内功,从原理上理解编程,这样就可以不受语言的限制,随时能够适应新的领域的工作。

python能开发安卓app吗?

不能,目前没有框架可以用python来开发androidapp
目前开发android应用的途径有以下几条:
第一条,google官方原生开发,支持的开发语言有jvm系语言kotlin和java,另外还有cpp语言。
第二天条,使用js系跨平台框架。开发语言是js。
第三条,flutter跨平台框架,开发语言是dart。
第四条,.net跨平台开发框架,开发语言是c#。
目前只有以上几条,python支持qt,但是qt不支持android。所以用python开发android应用目前来说没戏。
建议题主学习下kotlin原生开发或者flutter跨平台开发。
以上就是我的答案,希望可以帮到题主