標籤:
轉自jdon的小文章:來自Infoworld的一篇紀念Java誕生20周年的文章。主要講述了一些在今天習以為常但是在20年前卻難以想象的情況。請記住,在1995年那時的編程不是一件很容易的事情,物件導向概念已經接受,但是很難實踐,那時沒有多少真正的物件導向語言,最多是將C代碼粉飾一下,比如用class替代struct等,用這些技術編寫的程式經常由於指標錯誤或記憶體流失崩潰,原始碼僅僅能夠在Unix不同版本之間移植,使用同樣二進位代碼運行在不同處理器和作業系統上簡直是瘋狂的笑談。Java改變了這一切,第一次我們使用一種跨平台 記憶體回收和物件導向的程式設計語言進行產品化的編碼,緊跟著Java的語言,比如最令人信服的C#,將Java建立的生產力提高到一個新高度。Java開天闢地實現其他語言沒有的異常檢測,Java也是第一個在原生字元類型和原始碼中使用Unicode。java的核心力量是它為做好工作建立一套實踐性的工具,它從早期語言匯入好的主意,然後以讓熟悉的格式封裝它們,儘管,Java不是一個嚴格的C的超集合(C++和Objective-C是),移除了一些東西以後,Java變得更簡單,更易於學習。Java並沒有structs, unions, typedefs, 和header ,這是一個新的物件導向程式設計語言,沒有被要求能夠運行遺留老的代碼,Java明智地忽略了一些在其他語言被嘗試然後發現不足的一些特點,比如多重繼承 指標運算和operator overloading,這種好的風格一直在Java中保持到現在。正如Martin Fowler所說:在軟體開發領域從來沒有一種語言被這麼多人次和這麼多行代碼使用,這種語言就是Java。二十年以後,Java不再是新貴,它已經成為其他語言“造反”的對象,更輕量語言如Ruby和Python(banq註:還有Go語言與Rust語言的呢個)已經大舉進入Java領土,特別是追求開發速度的創業工作。當然,Java也不是靜止不動,也正在不斷添加新的語言特點,比如函數語言的Lambda運算式等,這些新的編程方式還是Java領域新的概念。儘管還有很多程式員不知道Java,但是無論他們知道與否,今天每一個程式員已經受到它的影響。Java at 20: How it changed programming forever | I
點評:Java對每個程式員的影響可能還要首推Android安卓開發,因為後端開發語言選擇越來越多,而前端用戶端因為資源等影響,包括安卓
的普及度,隨著智能終端的發展和萬物聯網,藉助安卓平台,Java可能會實現當初Java applet的夢想。
博主自己的看法:
1、Java是C和C++的繼承者和延伸
2、Java所謂的跨平台根本是個偽概念
3、Java的異常機制一方面帶來好處,一方面也帶來噁心
4、Java越做越難用了
5、現在Java應當分裂
我看Java二十年:它是如何永遠改變編程的。