既然它能成為一門區別於其他的語言,那麼必然存在有區別於其他語言特點的東西,可能是新的功能,可能是其他語言的改進。
但是呢,資料結構和演算法是差不多的。為什麼這麼講?就舉個例子來說,我在學校的時候學習的是C語言,工作之後學習的是JavaScript。發現它們有非常多的共通之處。
第一,必須有變數的存在。變數可以簡單理解為一個容器。在JavaScript中,採用var宣告,當然let,const 也是可以的。這個容器裝任何東西:數值,字串,布林值,陣列,物件等等。
第二,必須存在一些基本型別的資料。如數字,字串,布林值等。而物件比較複雜,但都是由基本型別混合在一起的,即物件就不能歸類為基本型別。再舉一個簡單的例子:國際單位制基本單位主要有長度m,時間s,質量kg,熱力學溫度(開爾文溫度)K,電流A,光強度cd(坎德拉),物質的量mol等7個。在目前人類的認知當中,其他的單位都是由這幾個推匯出來的。比如速度就是長度和時間推匯出:m/s。
第三,都存在判斷,選擇場景。比如 if...else...,switch....case.....
第四,都存在迴圈結構。for,while都是非常常見的關鍵字。
其他的我就不一一舉例子了,所以如果你精通一門程式語言,學起其他的語言是非常簡單的。這些知識,場景是非常基礎的。新的語言不可能存在革命性的創新,基本上都是微創新,並且相互借鑑一些其他語言的優秀特徵。並且新語言的出現,必然是隨著應用場景發生了變化,或者效能發生瓶頸,必然突破去解決問題。
既然它能成為一門區別於其他的語言,那麼必然存在有區別於其他語言特點的東西,可能是新的功能,可能是其他語言的改進。
但是呢,資料結構和演算法是差不多的。為什麼這麼講?就舉個例子來說,我在學校的時候學習的是C語言,工作之後學習的是JavaScript。發現它們有非常多的共通之處。
第一,必須有變數的存在。變數可以簡單理解為一個容器。在JavaScript中,採用var宣告,當然let,const 也是可以的。這個容器裝任何東西:數值,字串,布林值,陣列,物件等等。
第二,必須存在一些基本型別的資料。如數字,字串,布林值等。而物件比較複雜,但都是由基本型別混合在一起的,即物件就不能歸類為基本型別。再舉一個簡單的例子:國際單位制基本單位主要有長度m,時間s,質量kg,熱力學溫度(開爾文溫度)K,電流A,光強度cd(坎德拉),物質的量mol等7個。在目前人類的認知當中,其他的單位都是由這幾個推匯出來的。比如速度就是長度和時間推匯出:m/s。
第三,都存在判斷,選擇場景。比如 if...else...,switch....case.....
第四,都存在迴圈結構。for,while都是非常常見的關鍵字。
其他的我就不一一舉例子了,所以如果你精通一門程式語言,學起其他的語言是非常簡單的。這些知識,場景是非常基礎的。新的語言不可能存在革命性的創新,基本上都是微創新,並且相互借鑑一些其他語言的優秀特徵。並且新語言的出現,必然是隨著應用場景發生了變化,或者效能發生瓶頸,必然突破去解決問題。