一位外國友人用《如果程式語言是武器》對各個程式設計的區別和特徵做了生動形象的描述。
C語言是M1式加蘭德步槍,很老但可靠。
(開發效率太低,開發門檻高,不要以為語法簡單就門檻低,指標、記憶體、作業系統底層才是門檻所在)
C++是雙截棍,揮舞起來很強悍,很吸引人,但需要你多年的磨練來掌握,很多人希望改用別的武器。
(太複雜,如果現在的程式設計師全部被強制去寫C++,估計90%會崩潰或者轉行)
Ruby 是一把外嵌紅寶石的寶刀,人們使用它通常是因為看起來很炫。
(擁有廣泛的工具及功能庫,使得構建應用十分輕鬆,但很難找到關於Ruby良好的說明文件且執行速度差。)
PHP是水管子,你通常會把它的一段接到汽車的排氣管,另一端插進車窗裡,然後你坐進車裡,開動引擎。
(擁有龐大而活躍的社群,面對Web開發難題都有現成的解決方案,但PHP錯誤處理機制比較糟糕,因為它的開發歷史過長且需要支援大量舊有功能。)
Python是一種“v2/v3”雙管槍,每次只能用一個管子發射,你永遠不知道該用哪個管子發射好。
(因為該語言易於掌握擁有極高人氣,但在語言設計上存在問題,在移動計算領域表現比較糟糕。)
JavaScript是一把寶劍,但沒有劍柄。
(它的程式碼函式可立即執行,無需等待伺服器做出迴應,因此速度非常出色。但由於程式碼在使用者計算機上執行,有時會被惡意活動所利用。)
Java是M240通用彈夾式自動機槍。
(同樣的效果,Java用簡練的語言即可進行輸出,封裝了大部分的演算法,用自帶的庫/開發環境運算,所以執行速度能像機槍一樣快~)
Scala是M240通用機槍的變種,但它的使用手冊是用一種看不懂的方言寫的,很多人懷疑那只是一些夢話。
一位外國友人用《如果程式語言是武器》對各個程式設計的區別和特徵做了生動形象的描述。
C語言是M1式加蘭德步槍,很老但可靠。
(開發效率太低,開發門檻高,不要以為語法簡單就門檻低,指標、記憶體、作業系統底層才是門檻所在)
C++是雙截棍,揮舞起來很強悍,很吸引人,但需要你多年的磨練來掌握,很多人希望改用別的武器。
(太複雜,如果現在的程式設計師全部被強制去寫C++,估計90%會崩潰或者轉行)
Ruby 是一把外嵌紅寶石的寶刀,人們使用它通常是因為看起來很炫。
(擁有廣泛的工具及功能庫,使得構建應用十分輕鬆,但很難找到關於Ruby良好的說明文件且執行速度差。)
PHP是水管子,你通常會把它的一段接到汽車的排氣管,另一端插進車窗裡,然後你坐進車裡,開動引擎。
(擁有龐大而活躍的社群,面對Web開發難題都有現成的解決方案,但PHP錯誤處理機制比較糟糕,因為它的開發歷史過長且需要支援大量舊有功能。)
Python是一種“v2/v3”雙管槍,每次只能用一個管子發射,你永遠不知道該用哪個管子發射好。
(因為該語言易於掌握擁有極高人氣,但在語言設計上存在問題,在移動計算領域表現比較糟糕。)
JavaScript是一把寶劍,但沒有劍柄。
(它的程式碼函式可立即執行,無需等待伺服器做出迴應,因此速度非常出色。但由於程式碼在使用者計算機上執行,有時會被惡意活動所利用。)
Java是M240通用彈夾式自動機槍。
(同樣的效果,Java用簡練的語言即可進行輸出,封裝了大部分的演算法,用自帶的庫/開發環境運算,所以執行速度能像機槍一樣快~)
Scala是M240通用機槍的變種,但它的使用手冊是用一種看不懂的方言寫的,很多人懷疑那只是一些夢話。