Java二十年:它是如何永遠改變程式設計的。
來自Infoworld的一篇紀念Java誕生20週年的文章。主要講述了一些在今天習以為常但是在20年前卻難以想象的情況。
請記住,在1995年那時的程式設計不是一件很容易的事情,物件導向概念已經接受,但是很難實踐,那時沒有多少真正的物件導向語言,最多是將C程式碼粉飾一下,比如用class替代struct等,用這些技術編寫的程式經常由於指標錯誤或記憶體洩漏崩潰,原始碼僅僅能夠在Unix不同版本之間移植,使用同樣二進位制程式碼執行在不同處理器和作業系統上簡直是瘋狂的笑談。
Java改變了這一切,第一次我們使用一種跨平臺 垃圾回收和麵向物件的程式語言進行產品化的編碼,緊跟著Java的語言,比如最引人注目的C#,將Java建立的生產力提高到一個新高度。
Java開天闢地實現其他語言沒有的異常檢測,Java也是第一個在原生字元型別和原始碼中使用Unicode。(banq注:記得剛使用Java時最頭疼的是中文亂碼,後來發現透過統一UTF-8完美解決這個問題)
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,但是無論他們知道與否,今天每一個程式設計師已經受到它的影響。
請記住,在1995年那時的程式設計不是一件很容易的事情,物件導向概念已經接受,但是很難實踐,那時沒有多少真正的物件導向語言,最多是將C程式碼粉飾一下,比如用class替代struct等,用這些技術編寫的程式經常由於指標錯誤或記憶體洩漏崩潰,原始碼僅僅能夠在Unix不同版本之間移植,使用同樣二進位制程式碼執行在不同處理器和作業系統上簡直是瘋狂的笑談。
Java改變了這一切,第一次我們使用一種跨平臺 垃圾回收和麵向物件的程式語言進行產品化的編碼,緊跟著Java的語言,比如最引人注目的C#,將Java建立的生產力提高到一個新高度。
Java開天闢地實現其他語言沒有的異常檢測,Java也是第一個在原生字元型別和原始碼中使用Unicode。(banq注:記得剛使用Java時最頭疼的是中文亂碼,後來發現透過統一UTF-8完美解決這個問題)
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的夢想。
相關文章
- 程式設計永遠不容易程式設計
- 程式設計師該如何改變枯燥的程式設計生活?程式設計師
- 程式設計師永遠不要再犯的5個程式設計bug程式設計師
- 風變程式設計:活到老學到老,學習永遠不怕晚程式設計
- 永遠不要再犯的 5 個程式設計錯誤程式設計
- 程式設計師永遠不應該相信"抽象“程式設計師抽象
- 只會寫程式碼的程式設計師永遠無法出色?程式設計師
- IT人永遠不老,老程式設計師價值何在?程式設計師
- 【漫畫】程式設計師永遠修不好的Bug——情人節程式設計師
- 傑出程式設計師永遠都不會說的幾句話程式設計師
- 程式設計師與軟體工程是永遠的矛盾嗎? (轉)程式設計師軟體工程
- 程式設計師與軟體工程是永遠的矛盾嗎?(續) (轉)程式設計師軟體工程
- 6 個程式設計範型將改變你對程式設計的看法程式設計
- 40歲後學習程式設計:永遠不會為時已晚程式設計
- 程式設計師的這一天:也許永遠不會到來程式設計師
- 1024程式設計師節:向改變世界的程式設計師致敬程式設計師
- 1024程式設計師節,向改變世界的程式設計師致敬程式設計師
- 請問如何在java程式中動態改變輸入法設定。Java
- 1024程式設計師節,向用程式碼改變世界的程式設計師致敬!程式設計師
- AI技術將會如何改變遊戲設計?AI遊戲設計
- 請問如何用java程式改變系統時間Java
- VB程式設計師的FTP程式設計指南1.3-列出、改變目錄 (轉)程式設計師FTP
- 永遠考慮那個擁有更強寫作能力的程式設計師程式設計師
- Lisp 永遠成不了程式設計主流語言 vs Lisp 神話之路Lisp程式設計
- Oracle 程式設計師吐槽:永遠不會再為 Oracle 工作了 !Oracle程式設計師
- 作為程式設計師,這份Markdown備忘單你永遠需要程式設計師
- 幽默:不懂OO或DDD的程式設計師永遠無法get到這個幽默程式設計師
- 改變程式設計師開發方式的15個技術程式設計師
- 學習10分鐘,改變你的程式設計師生涯程式設計師
- 是那行程式碼,徹底改變了程式設計師的世界?行程程式設計師
- 消極程式設計師系列——我媽永遠不知道我敲的程式碼是什麼程式設計師
- 說它是通訊系統的“永動機”,沒異議吧?
- 你是如何離程式設計越來越遠的?程式設計
- 量子計算將如何改變世界?
- 現在的程式設計和二十年前有什麼不同?程式設計
- windowsxp遠端桌面埠號改變的位置Windows
- 風變程式設計Python課程:讓改變從現在開始程式設計Python
- 改變世界的程式設計師:Twitter與Square創始人Jack Dorsey程式設計師