成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

20年后的Java,跟得上節奏嗎?

譯文 精選
開發 前端
Java是明星編程語言,我們不能忽視它是如何幫助改變今天的編程語言的。Java的建立是為了解決一些問題,但作為副作用,它也產生了新的問題。在我看來,10年后,人們會開始抱怨今天的語言,一種新的語言將被創造出來解決這些問題。

作者 | Nishant Aanjaney Jalan

策劃 | 云昭

51CTO讀者成長計劃社群招募,咨詢小助手(微信號:CTOjishuzhan)

Java已經存在了將近30年。從1997年開始,有30億臺設備運行Java。現在Kotlin、Scala等更新的JVM語言流行了,Java是不是已經過時了?人們開始厭棄Java了嗎?

我相信有很多人喜歡Java。很自豪本人也其中的一員。當像Kotlin和Scala這樣的語言出現時,我發現這些語言更好。當然,這絕不意味我討厭Java。

一、Java過去到底有多受歡迎?

Java的受歡迎程度如此之高,以至于ECMAScript被昵稱為JavaScript,因為它在我們心中取代Web Assembly的速度和Java一樣快。

可以列舉幾個例子來說明Java是一種受歡迎的語言。

圖片

二、Java為什么受歡迎?

1.平臺無關

因為Java運行在Java虛擬機(JVM),相同的代碼可以毫無困難地在多個平臺上運行。另一方面,c有多個編譯器為不同的isa編寫匯編代碼。如果一個C程序可以在機器A上運行,它不能保證在機器b上運行。

類似于C和C++的語法Java與C和C++共享一個相似的語法,這使得程序員不用重新學習所有的東西就可以切換到Java。

2.沒有更多的指針

Java消除了指針的外部處理。這意味著你不再有那些煩人的缺點了。Java使用了指針(當然),但是代碼是以各種方式抽象的。

3.自動垃圾收集器

在C和C++中,當對象不再被使用時,程序員必須手動釋放內存(這需要大量的內存泄漏)。在Java中,基于程序員應該知道的某些規則,垃圾收集器會自動為您釋放未使用的分配內存。

4.面向對象的編程

Haskell是一種純粹的函數式語言。它嚴重依賴于數學技能,需要練習才能掌握。Java是一種純粹面向對象的語言,與現實生活聯系緊密。這種轉變平滑了學習曲線(當然這在以后會變得非常困難)。

5.清晰的結構

Java的語法非常結構化。類中的一切都有助于理解相關的信息和功能。從第一句“你好,世界!”,您需要對類語法有一個基本的了解。在Java的幫助下,重要的原則、設計模式和編程范例可以很容易地得到解釋。

回顧以上原因,沒有理由討厭Java。Java曾經是語言在2000年代。許多政府軟件和銀行都使用Java,其中一些現在仍在使用。

三、現在發生了什么?

不管人們怎么說,現在Java正在衰落。雖然Java仍然被維護著,全球仍然有許多Java開發者,但是作為編程語言,過去的輝煌現在已經一去不復返了。

1.無效

作為“空引用”的創造者,東尼·霍爾在一次采訪中說,“這是一個十億美元的錯誤”,因為它會導致意想不到的行為和程序崩潰。Java在核心庫中采用了null,這使得它類似于在c中處理segfault錯誤。

2.剛性

在用Java編程一段時間后,您會注意到您多次編寫了相同的代碼。隨著技術的進步,Java中的樣板代碼激增,從而使其變得龐大。

3.沒有函數式語言支持

正如我前面所說,Java是純面向對象的。然而,程序員需要命令式和聲明式語言都包含的特性。

4.繼承抽象中的一個缺陷

Java中有四種訪問說明符:公共的、受保護的、私有的和受包保護的/默認的/友好的。沒有辦法允許對子類的訪問并限制對包中其他類的訪問。

四、Java歷史上的重要改進       

1.Java 8的改進

Java維護者沒有忽視開發者的請求。

(1)功能支持—他們引入了流API的功能接口。然而,由于向后兼容,實現它仍然很笨拙。

(2)Optionalclass— Optional是無效問題的一種解決方法。盡管如此,包括Optional并沒有消除null的可能性,因為它在Java的核心庫中根深蒂固。

2.Java 12改進

表達式中引入Switch語句,減少了條件控制流中的一些樣板。       

3.Java 16改進

Java中引入了record,它在編寫POJOs(普通的舊Java對象)時,刪除了大部分樣板文件。

五、Kotlin和Scala的到來

就像Java是對C++的改進一樣,Kotlin是對Java的改進。 Kotlin的優勢如下:

1.大大減少了樣板文件。

2.根深蒂固的Null安全。

3.引入了字符串模板(受Python/PHP的啟發)。

4.介紹sealed class(受Rust/Haskell啟發)。

5.多范例語言(改進的OOP和融合性的功能)。

6.運算符重載(如C和Python)。

7.引入了data class(Java中的record)。

8.其他雜項功能,如擴展和內聯函數,以及協程。

因為我從未使用Scala編程,所以我不在文中討論它的好處。當然,Java也在進化。

六、結論

僅僅因為更好的東西出現了,并不意味著我們厭棄了Java。

Java是明星編程語言,我們不能忽視它是如何幫助改變今天的編程語言的。Java的建立是為了解決一些問題,但作為副作用,它也產生了新的問題。在我看來,10年后,人們會開始抱怨今天的語言,一種新的語言將被創造出來解決這些問題。

如果沒有Java,現代語言不會像今天這樣強大。正如C++之父所言,世界上只有兩種語言:人們抱怨的語言和沒人使用的語言。

責任編輯:武曉燕 來源: 51CTO技術棧
相關推薦

2015-12-17 16:22:15

數據中心企業數據中心

2017-11-14 19:18:49

比特幣預測趨勢

2009-12-28 09:51:41

微軟前員工

2016-04-13 10:52:12

2019-08-02 11:53:50

Android開發學習

2020-09-22 15:03:39

編程語言RubyCOBOL

2020-10-14 12:12:48

機器人

2012-04-12 14:43:46

激光打印機評測

2012-07-16 13:43:03

前端開發

2010-01-12 17:47:31

C++語言

2019-10-30 10:42:42

CIO數字化轉型開發

2023-10-16 10:16:14

芯片英偉達

2009-10-22 20:48:28

IT管理統一通信

2016-03-15 10:57:42

數據中心

2021-03-03 23:15:53

數據分析就業辭職

2010-06-12 10:47:24

2019-05-31 09:10:09

程序員技能開發者

2016-03-04 16:22:23

WP微軟移動

2017-12-25 09:16:09

微信高效運維

2009-03-04 09:59:04

職場心情痛苦
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 精品欧美乱码久久久久久 | av免费看在线 | 日韩欧美在线观看视频 | 99国产精品99久久久久久 | 一区二区三区久久久 | 国产精品一区二区av | 久久久成人一区二区免费影院 | 一区二区三区四区av | 欧美日韩在线一区二区 | 国产精品免费在线 | 国产高清一区二区 | 欧美性生交大片免费 | 人人做人人澡人人爽欧美 | 亚洲二区精品 | 精品久久99| 91精品国产91久久久久久密臀 | 亚州春色 | 亚洲欧美在线一区 | 国产欧美视频一区二区 | 亚洲第一成人影院 | 日韩免费高清视频 | 亚洲午夜一区二区 | 亚洲成人精品国产 | av香蕉| 亚洲一区二区三区视频 | 亚洲国产精品第一区二区 | 啪一啪在线视频 | 精品久久精品 | 天天干天天插 | 国产精品欧美一区喷水 | 亚洲精品国产第一综合99久久 | 欧美黄色片 | 亚洲黄色国产 | 亚洲一区欧美 | 久久精品 | 日本不卡视频 | 丝袜美腿一区二区三区动态图 | 亚洲欧美国产精品久久 | 天天干夜夜操视频 | 91久色 | 欧美性受xxxx |