Java是目前地球最流行的编程语言,但是在现在各种编程语言群雄混战的时代中,想要屹立不倒,也绝非一件容易的事情,那么Java可能会在哪里栽跟头呢?
根据各网站的统计,截止到目前为止,世界编程语言的使用频率,Java仍旧是居高不下,常年位列前三甲的战绩足以让他骄傲。
但是,没有什么东西是永恒不变的,Java总有一天也会成为过去式,被比他更优秀的语言所替代。不论将来这样的事情会不会发生,Java在多个环境中仍旧是最流行的一种编程语言。
一门编程语言怎样才算是死亡了?
编程语言死亡的真正定义是没有人再使用它——但这样的情况很难发生。即使是老朽且不被广泛使用的语言(例如,你是否听说过Modula-3?),仍然在被使用、维护,或者至少会演变成其他的东西。
当然,这是一个渐变的过程,怎么发生的方法不定。从实际出发,假设编程语言在它不再被用于新项目时,就意味着它的死亡,但是它可能依然存活在许多遗留项目上(COBOL就是一个完美的例子)。
这种事情终有一天会降临到Java身上,如果真的到了那一天,是谁杀死了他?
让我们来分析一下
在以《What Killed Smalltalk Could Kill Ruby Too》为主题的演讲中,Robert “Uncle Bob” Martin说,Smalltalk被杀的原因是,它太容易造成混乱,并且它的傲慢自大会导致不专业的实践方法,如缺乏测试驱动开发(TDD)。
在任何语言中你都可以搞得一团乱。当然,在某些语言中,比其他语言更容易导致混乱——例如,在动态类型语言中,我们可以随时更改变量的类型——但是我们在Java中没有这个问题。
此外,在Java社区中很多人采用的良好实践,比如设计模式和TDD,有助于我们制作更好的软件。
现在我们来讨论另一个问题
Java是面向对象的语言。如果其他(新的)范式接管了怎么办?如果面向对象的编程变得过时了怎么办?
好吧,这可能性并不大——基本原理已经有很长一段时间没有真正改变过了。诸如结构化,功能性和面向对象编程的重大创新发生在20世纪50年代,60年代以及甚至70年代,但从那以后,没有什么举足轻重的事发生。
但是,在过去十年中,却有很多新的语言问世,这些语言有着现代的语法以及新功能的框架。
那么,没有现代语法和新的功能是否会导致Java的死亡呢?
Java会不会因为另外一种语言的发展而不行了呢?
我们以JavaScript为例。毕竟JavaScript正在占领这个世界,对吧?
我们可以在后台使用Node.js,类似于移动设备上的React Native或Ionic,我们甚至不必提及在前端的所有竞争选项。
但是,至少在企业软件中,我没有看到JavaScript将要替代Java的趋势。JavaScript在企业领域中没有取得成功的框架或工具。它也没有与Java虚拟机(JVM)相当的东西,Java虚拟机(JVM)依然是大型和关键任务软件的首选平台
当有新的语言比老的语言更加好使用的时候,老的语言就会被淘汰,这是毋庸置疑的。
新的教程、课程和书籍将不会再被创造。
社区中的宝贵成员将被其他技术吸引走。
该语言将不会用于新的环境。
将导致减少语言的流行度。
Mark Reinhold,Oracle Java平台组首席架构师,提出的新的六个月发布计划,是向前推进Java并迈向未来的重大一步。用他的话说(就特征驱动的版本):
这种方法可以在早期采用者进行彻底的检查和测试后,以高水平的质量提供大的新功能。然而,不足之处在于,较小的API、语言和JVM功能只有在大功能准备就绪时才能实现。
这是在本世纪之交前后几十年时间里达成的一个可接受的折中方案,当时Java仅与几个以类似的步伐演进的平台竞争。然而,如今,Java在与许多以更快速度发展的平台一起竞争。
JAVA该如何在与其他编程语言的竞争中优胜呢?
我的一些想法:
不要傲慢(不要认为Java太大而不会失败)
促进良好的开发实践方法
继续发布超棒的框架、工具等
支持JSR
帮助教学和推广Java语言
在新环境中尝试Java
否则,Java如果无法跟上时代的步伐,那么最终将会被后浪拍死在沙滩上。
最后,整理了一个项目分享给大家,马士兵老师坦克大战视频讲解以及项目源码,Java编程,包括教你如何拥有面向对象编程的思维,以及企业开发中常用的23种设计模式,最适合零基础入门的同学进行Java的学习。
资料领取方式:
关注+转发后,私信关键词 【Java】即可获取!
重要的事情说三遍,转发、转发、转发后再发私信,才可以拿到!
网友评论