摘要:是當時唯一的書,而且只有語言規范。仍然在中使用未來可能被取代,但不是現在。仍然是大學里教授的主要語言,并且存在于很多優秀的庫中,比如。筆者期待積極的討論。的確存在缺陷,但這些缺陷并不妨礙它在世界上最主要的公司和系統內全天候地完成工作。
【編者按】本文作者為資深碼農 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
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/65901.html
摘要:本文主要介紹了中的閉包與局部套用功能,由國內管理平臺編譯呈現。譬如,認為給帶來了閉包特性就是其中之一。但是首先,我們將考慮如何利用閉包進行實現。很顯然,閉包打破了這一準則。這就是局部調用,它總是比閉包更為穩妥。 【編者按】本文作者為專注于自然語言處理多年的 Pierre-Yves Saumont,Pierre-Yves 著有30多本主講 Java 軟件開發的書籍,自2008開始供職于 ...
摘要:后端好書閱讀與推薦系列文章后端好書閱讀與推薦后端好書閱讀與推薦續后端好書閱讀與推薦續二幾個月又過去了,又讀了幾本書,同時為了深切體會到某些書里面的要點還專門做了一個小項目,這里就把讀書與小項目過程中的一些心得體會記錄一下。 后端好書閱讀與推薦系列文章:后端好書閱讀與推薦后端好書閱讀與推薦(續)后端好書閱讀與推薦(續二) 幾個月又過去了,又讀了幾本書,同時為了深切體會到某些書里面的要點還...
摘要:后端好書閱讀與推薦系列文章后端好書閱讀與推薦后端好書閱讀與推薦續后端好書閱讀與推薦續二幾個月又過去了,又讀了幾本書,同時為了深切體會到某些書里面的要點還專門做了一個小項目,這里就把讀書與小項目過程中的一些心得體會記錄一下。 后端好書閱讀與推薦系列文章:后端好書閱讀與推薦后端好書閱讀與推薦(續)后端好書閱讀與推薦(續二) 幾個月又過去了,又讀了幾本書,同時為了深切體會到某些書里面的要點還...
摘要:如果數據從舊系統遷移到新系統是當前版本發布的主要目的,那么更要關注報表數據數據遷移缺陷如果一個舊系統要被新系統取代,舊系統里的數據要移到新系統。 對任何軟件產品來說,軟件上線永遠是一件大事。完全確保所有功能生效以及發布高質量軟件給用戶非常重要。 不好的、不成熟的、不穩定的、難以使用的產品會引...
閱讀 2187·2021-11-18 10:02
閱讀 3288·2021-11-11 16:55
閱讀 2694·2021-09-14 18:02
閱讀 2426·2021-09-04 16:41
閱讀 2056·2021-09-04 16:40
閱讀 1165·2019-08-30 15:56
閱讀 2212·2019-08-30 15:54
閱讀 3160·2019-08-30 14:15