首页 >

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

萍果5白点怎么截屏,word怎么快速删除空格,域名什么样的好处我听很多人说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占比减少的原因:

  1. 各种新语言的崛起。Java鼎盛的时候,市场的竞争对手很少。而这些年,随着计算机硬件的发展以及互联网的普及,各种编程语言也随之井喷式地出现。每种相对热门语言出现和发展都会吸走一部分热度,并带起新的一波唱衰Java的节奏。这些语言的代表早期有C#,最近有Go。
  2. JVM体系中一些“BetterJava”的出现。由于Java语言本身的一些弊病(下文会详细说),JVM上出现了一些语言,如Scala、Groovy、Kotlin,它们打着“BetterJava”的旗号,采用和Java互通的形式发展。一些对Java体验不满的团队,可能会选择转向这些语言。
  3. 互联网热点的切换。前些年服务器端编程可能是互联网领域的主流,近年来由于机器学习、大数据等概念的兴起,对这些概念支持更好的语言得以兴起,如python、R、Scala等。
  4. Java语言自身的缺陷。

Java语言的缺陷:

  1. 语言特性不够丰富。Java具有跨平台和向下兼容这两大卖点,但它们同时也是Java语言沉重的包袱。带着这些包袱,Java只能缓慢保守地增加语言特性。一些其他成熟语言具备的特性,Java只能选择不支持或通过替代的方式支持。如Java中没有函数的数据类型,使用“类型擦除”的方式实现泛型等。
  2. 语法过于啰嗦。Java的样板代码可能是所有编程语言里最多的。Python程序员100行代码可以搞定的事情,Java程序员可能要写上500行代码。
  3. 应用场景不是刚需。Java虽然在服务器编程方面找到了统治地位,但是这种统治地位并不牢固。具有服务器编程能力的语言太多了,如php、python、Go、dart等,甚至js这种浏览器端的语言也来凑个热闹,搞了node.js专门用于服务端编程。
  4. 对多线程的支持不友好。Java对多线程的支持设计得非常不友好,即使经验丰富的程序员,也容易编写出产生致命缺陷的代码。

Java语言的优势:

  1. 上手简单。Java的语法少,并且非常符合直觉,非常适合作为新人的入门语言。
  2. 生态完整,社区活跃。有海量的第三方框架和依赖包,基本上各个领域都能找到成熟的解决方案。
  3. 跨平台。对各个平台的支持比较完善,基本可以实现“一次编写,到处运行”。
  4. 存量项目多。Java运行在数以亿计的硬件设备上,这些系统的维护工作足以养活一大批Java开发的程序员。

Java程序员何去何从?

  1. 首先不要过分焦虑,Java被淘汰不会是一两天的事情。
  2. 其次不要把鸡蛋放在一个篮子里,多掌握一些技术,技多不压身。
  3. 最后提高对自己的要求,多修炼内功,从原理上理解编程,这样就可以不受语言的限制,随时能够适应新的领域的工作。

我听很多人说JAVA已经过时了,下一个要淘汰的语言就是JAVA,真的是这样吗? - 网络|
  • 汽修店有哪些线上平台可以做? - 网络|
  • 汽修店有哪些线上平台可以做? - 网络| | 汽修店有哪些线上平台可以做? - 网络| ...

    我听很多人说JAVA已经过时了,下一个要淘汰的语言就是JAVA,真的是这样吗? - 网络|
  • 现在送外卖怎么样,月收入大概有多少? - 网络|
  • 现在送外卖怎么样,月收入大概有多少? - 网络| | 现在送外卖怎么样,月收入大概有多少? - 网络| ...

    我听很多人说JAVA已经过时了,下一个要淘汰的语言就是JAVA,真的是这样吗? - 网络|
  • 网站后台用什么语言开发比较好? - 网络|
  • 网站后台用什么语言开发比较好? - 网络| | 网站后台用什么语言开发比较好? - 网络| ...