的确,Java存在缺陷。可是……

【编者按】本文做者为资深码农 Tim Spann,主要讲述 Java 让人没法抗拒的众多优势以及一些些缺陷。本文系国内 ITOM 管理平台 OneAPM 编译呈现,如下为正文。html

早在90年代中期,笔者在E&Y工做时,就开始使用Java编程,那是我使用的仍是Java 1.0版本。HotJava是当时惟一的书,并且只有语言规范。当时,Java是秘密的流行语言。很是前卫,比C的语法更进步,比C++更安全。能够在UNIX,Windows,Linux,Mac或set-top中运行,很是惊人。它足够强大,许多公司都使用Java编写浏览器,服务器,引擎,规则引擎,库,框架。当时的Java可谓风靡一时。如今,它的增加变缓。可是,围绕Java的开发环境(Eclipse),服务器(Hadoop生态系统),大数据,以及库的数量与规模,都是至关惊人的。前端

Java仍然在Android中使用(将来可能被Swift取代,但不是如今)。java

JVM是强大的,运行着各类几近实时/大数据和大型的网站。数量庞大的公司仍然在企业级和Web应用中使用它。 AOL已经推出了一个很是不错的Java 8库。Spring Boot是一个很棒的快速开发Java的库。程序员

尽管笔者全部的Spark编码都在Scala中完成,但我仍然须要Java Maven资源库。数以万计的Java库是惊人的。它们适用于Scala和JVM上的其余语言。此外,还有不少来自Lightbend 和Pivotal,强大且精简,贯彻12要素理念的微服务以及轻量级的库。docker

而且,不少供应商都提供Java支持:Oracle,IBM,HPE,EMC,VMWare,Hortonworks和Cloudera。新的库和出色的工具天天都在出现。若是你在GitHub搜索新的Java库和项目,你会发现不少不错的选择,涵盖了方方面面的内容。编程

若是你想开发物联网,Java语言处处都是。浏览器

成千上万的开发人员,数以百计的咨询公司,全球2000强中的大多数企业,都在进行Java开发,并拥有大量的Java资产。安全

它是拥有最新特性的最酷的语言吗?不是,可是每一个Java版本都汇聚了现有语言的精髓。我喜欢Scala,Go 和Node.JS。可是,当我想写一我的人均可以阅读,能在每个平台运行的(例如,无处不在的Tomcat)程序时,我会选用Java进行编写。每种云,每种PaaS(平台即服务),包括AWS,Google,CloudFoundry, Heroku,都支持Java。在虚拟机,服务器,笔记本电脑,Docker或Rocket容器上安装并运行Java服务器是很是简单的。使用Spring Boot,SparkJava,DropWizard,Ninja,Play等框架,你就能够编写简洁的微服务和优秀的代码。服务器

Java是冗长的,但很容易阅读。而维护代码是编程时最重要的事情,即便你所编写的代码最终会被取代。测试代码为下一次迭代或应用发版,提供了良好的参考文档。网络

Java会步Cobol后尘吗?有可能,但Cobol仍在使用中。而Java至少将在企业中再流行20年。

我会使用Scala和Go,或者其余一些语言吗?固然会。Java会消失或失宠吗?短时间内不会。若是Java消失了,那Android,Hadoop,IoT就得跟着消失。而实际上,你只须要一种普遍应用的语言以及会用这种语言编程的人,就够了。也许Node.JS更适合前端,Go更适合网络服务器, Scala更适合Spark。可是,对于企业而已,Java是更不容易出错的选择。虽然,的确有许多糟糕的程序员,许多混乱的代码,你甚至会指责Java没有迫令人们编写更好的代码(Scala在这方面作得更好)。可是,Java就是自由的象征。Java能够在任何平台自由运行,作任何事情,使用任何你想要的库,编写任何项目。Java仍然是大学里教授的主要语言,而且存在于不少优秀的库中,好比Stanford NLP。

笔者期待积极的讨论

Java的确存在缺陷,但这些缺陷并不妨碍它在世界上最主要的公司和系统内全天候地完成工做。

OneAPM 能为您提供端到端的 Java 应用性能解决方案,咱们支持全部常见的 Java 框架及应用服务器,助您快速发现系统瓶颈,定位异常根本缘由。分钟级部署,即刻体验,Java 监控历来没有如此简单。想阅读更多技术文章,请访问 OneAPM 官方技术博客

本文转自 OneAPM 官方博客

原文地址:https://dzone.com/articles/java-and-the-superfriends-stronger-than-one

相关文章
相关标签/搜索