摘要:是当时唯一的书,而且只有语言规范。仍然在中使用未来可能被取代,但不是现在。仍然是大学里教授的主要语言,并且存在于很多优秀的库中,比如。笔者期待积极的讨论。的确存在缺陷,但这些缺陷并不妨碍它在世界上最主要的公司和系统内全天候地完成工作。
【编者按】本文作者为资深码农 Tim Spann,主要讲述 Java 让人无法抗拒的众多优点以及一些些缺陷。本文系国内 ITOM 管理平台 OneAPM 编译呈现,以下为正文。
早在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取代,但不是现在)。
JVM是强大的,运行着各种几近实时/大数据和大型的网站。数量庞大的公司仍然在企业级和Web应用中使用它。 AOL已经推出了一个非常不错的Java 8库。Spring Boot是一个很棒的快速开发Java的库。
尽管笔者所有的Spark编码都在Scala中完成,但我仍然需要Java Maven资源库。数以万计的Java库是惊人的。它们适用于Scala和JVM上的其他语言。此外,还有很多来自Lightbend 和Pivotal,强大且精简,贯彻12要素理念的微服务以及轻量级的库。
并且,很多供应商都提供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
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/65901.html
摘要:本文主要介绍了中的闭包与局部套用功能,由国内管理平台编译呈现。譬如,认为给带来了闭包特性就是其中之一。但是首先,我们将考虑如何利用闭包进行实现。很显然,闭包打破了这一准则。这就是局部调用,它总是比闭包更为稳妥。 【编者按】本文作者为专注于自然语言处理多年的 Pierre-Yves Saumont,Pierre-Yves 著有30多本主讲 Java 软件开发的书籍,自2008开始供职于 ...
摘要:后端好书阅读与推荐系列文章后端好书阅读与推荐后端好书阅读与推荐续后端好书阅读与推荐续二几个月又过去了,又读了几本书,同时为了深切体会到某些书里面的要点还专门做了一个小项目,这里就把读书与小项目过程中的一些心得体会记录一下。 后端好书阅读与推荐系列文章:后端好书阅读与推荐后端好书阅读与推荐(续)后端好书阅读与推荐(续二) 几个月又过去了,又读了几本书,同时为了深切体会到某些书里面的要点还...
摘要:后端好书阅读与推荐系列文章后端好书阅读与推荐后端好书阅读与推荐续后端好书阅读与推荐续二几个月又过去了,又读了几本书,同时为了深切体会到某些书里面的要点还专门做了一个小项目,这里就把读书与小项目过程中的一些心得体会记录一下。 后端好书阅读与推荐系列文章:后端好书阅读与推荐后端好书阅读与推荐(续)后端好书阅读与推荐(续二) 几个月又过去了,又读了几本书,同时为了深切体会到某些书里面的要点还...
摘要:如果数据从旧系统迁移到新系统是当前版本发布的主要目的,那么更要关注报表数据数据迁移缺陷如果一个旧系统要被新系统取代,旧系统里的数据要移到新系统。 对任何软件产品来说,软件上线永远是一件大事。完全确保所有功能生效以及发布高质量软件给用户非常重要。 不好的、不成熟的、不稳定的、难以使用的产品会引...
阅读 2185·2021-11-18 10:02
阅读 3288·2021-11-11 16:55
阅读 2693·2021-09-14 18:02
阅读 2426·2021-09-04 16:41
阅读 2054·2021-09-04 16:40
阅读 1164·2019-08-30 15:56
阅读 2212·2019-08-30 15:54
阅读 3160·2019-08-30 14:15