不是,因为在每个领域都有更适合的编程语言。
C语言无疑是现代计算机软件编程语言的王者,几乎所有的操作系统都是C语言写的。C++是面向对象的C语言,一直在不断的改进。
JavaScript是能运行在浏览器中的语言,丰富的前端界面离不开JavaScript的功劳。近年来的Node.js又在后端占有一席之地。
Python用于系统管理,并通过高性能预编译的库,提供API来进行科学计算,文本处理等,是Linux必选的解释性语言。
Ruby强于DSL(领域特定语言),程序员可以定义丰富的语义来充分表达自己的思想。Erlang就是为分布式计算设计的,能保证在大规模并发访问的情况下,保持强壮和稳定性。
Go语言内置了并发能力,可以编译成本地代码。当前新的网络相关项目,很大比例是由Go语言编写的,如Docker、Kubernetes等。
编写网页用PHP,函数式编程有Lisp/Scala,编写iOS程序有Swift/Objective-C。
一句话概括,能留在排行榜之上的语言,都是好的语言,在其所在的领域能做到最好。
那么,Java语言到底有什么优势可以占据排行榜第一的位置呢?
其一,语法比较简单,学过计算机编程的开发者都能快速上手。
其二,在若干领域都有竞争力,比如服务端编程,高性能网络程序,企业软件事务处理,分布式计算,Android移动终端应用开发等等。
最重要的一点是符合工程学的需求,我们知道现代软件都是协同开发,那么代码可维护性,编译时检查,较为高效的运行效率,跨平台能力,丰富的IDE,测试,项目管理工具配合。都使得Java成为企业软件公司的首选,也得到很多互联网公司的青睐。
没有短板,容易从市场上找到Java软件工程师,软件公司选择Java作为主要开发语言,再在待定的领域使用其他语言协作编程,这样的组合选择,肯定是不会有大的问题。所以综合而言,Java语言全能方面是最好的。
Java社区的概况:
Java是一门开放的语言,其开源社区也是参与者众多。最有名的应当数Apache社区,目前已经拥有近200个顶级项目,其中绝大多数是Java语言项目。在Java生态圈中,具有重要地位的如Spring、Ant、Commons、Tomact、Xerces、Maven、Struts、Lucene、ActiveMQ、CXF、Camel、Hadoop等等。很多技术时代,一大批Java项目加入,如Web时代的Velocity、Wicket;JavaEE相关的Tomee、OpenJPA、OpenWebBeans、Myfaces;WebService时代的jUDDI、Axis、ServiceMix;Osgi时期的Flex、Karaf;大数据时代的HBase、Hive、ZooKeeper、Cassndra;云时代的Mesos、CloudStack等等。
涉及到软件开发的方方面面,可以说当今几乎所有的中型以上Java应用中,都会有Apache开源项目的身影。国内最早参与Apache社区的以国外软件公司国内研发团队成员为主,如红帽,IONA、Intel、IBM研发中心等。如今国内互联网公司和软件公司也不断的参与,特别是开始主导一些Apache项目,如Kylin等。
JBoss开源社区,包含了50多个Java开眼项目,其中有Hibernate、Drools、jBPM等业界知名开源项目,也有Undertow、Byteman、Narayana等名气不算大,但绝对是相应领域业界的顶级优秀项目。当前JBoss开源社区主要以企业应用中间件软件为主,RedHat是主要的技术贡献力量。
Eclipse开源社区,之前主要是包含Eclipse IDE的项目,后来也逐步进行多方面的扩展,比如OSGi、服务器等,目前一些知名Java项目,如Jetty、Vertx等都是Eclipse开源组织成员。此外IOT目前是Eclipse的一个重点方向,在这里可以找到完整的IOT java开发方案。