計算機各種語言的前世今生

來源: 兄貴 2022-12-01 18:55:08 [] [博客] [舊帖] [給我悄悄話] 本文已被閱讀: 次 (957 bytes)

我總結了一下主要計算機語言之間的血緣關係。

像COBOL這個語言,基本上沒什麽後代,所以忽略不計了。SQL比較獨立,也忽略了。

Fortran,Lisp, ML, SASL, SETL, 這些算是開創性的語言,從左到右,是祖宗到孫兒的關係。比如 Python 這門語言,是在 C 和 SETL 兩門語言的影響下 發展起來的,C 和 SETL 算是 Python的父母。Python 催生了Julia, Swift, 和 Ring, 所以這三門語言算是 Python的子女。當然 子女的父母可能很多,比如 Julia 結合了 Fortran(速度快),Ruby (Rigorous),Lisp(Functional programming)和 Python (易學易懂)這些父母的優點。

希望這張圖可以幫助小孩對計算機語言有高屋建瓴的戰略大局觀,更希望各位對本圖的錯誤給與批評指正。

所有跟帖: 

好亂 -avw- 給 avw 發送悄悄話 (0 bytes) () 12/01/2022 postreply 18:58:28

砍掉一些不重要的,可能會好些 -兄貴- 給 兄貴 發送悄悄話 兄貴 的博客首頁 (0 bytes) () 12/01/2022 postreply 19:00:53

大姐,你絕對是紫檀的一股清流:) -兩女寶媽- 給 兩女寶媽 發送悄悄話 兩女寶媽 的博客首頁 (0 bytes) () 12/01/2022 postreply 19:00:04

沒有,沒有 -兄貴- 給 兄貴 發送悄悄話 兄貴 的博客首頁 (0 bytes) () 12/01/2022 postreply 19:01:46

收著吧,你看下麵帖子爭來吵去的,你上了一個內容龐大的圖,線條倒是都很清新。。。 -兩女寶媽- 給 兩女寶媽 發送悄悄話 兩女寶媽 的博客首頁 (0 bytes) () 12/01/2022 postreply 19:04:58

謝謝,各人興趣不同吧。吵架我也喜歡,隻是時間緊,有空不吵,閑著也是閑著 -兄貴- 給 兄貴 發送悄悄話 兄貴 的博客首頁 (0 bytes) () 12/01/2022 postreply 19:10:20

我是沒吃過豬肉,隻見過豬跑的,那種沒進過CS係的業餘愛好者。難道能撼動你們職業家呢 -兄貴- 給 兄貴 發送悄悄話 兄貴 的博客首頁 (0 bytes) () 12/01/2022 postreply 19:13:03

看這圖幸好沒學CS懂不了。 -小團圓- 給 小團圓 發送悄悄話 (0 bytes) () 12/01/2022 postreply 19:08:45

點讚。然並卵。回字有N種寫法。 -大號螞蟻- 給 大號螞蟻 發送悄悄話 大號螞蟻 的博客首頁 (0 bytes) () 12/01/2022 postreply 19:11:22

對計算機“語言”有種病態的執著,哈哈 -tibuko- 給 tibuko 發送悄悄話 tibuko 的博客首頁 (0 bytes) () 12/01/2022 postreply 19:13:00

+1 -兩女寶媽- 給 兩女寶媽 發送悄悄話 兩女寶媽 的博客首頁 (0 bytes) () 12/01/2022 postreply 19:22:12

牛!沒學Fortran? -兄貴- 給 兄貴 發送悄悄話 兄貴 的博客首頁 (0 bytes) () 12/01/2022 postreply 19:34:42

高中生,你推薦是學Python還是JS?感覺JS可以做網頁啊。但是我又想讓孩子學一點robotics,感覺Python -Pilsung- 給 Pilsung 發送悄悄話 (33 bytes) () 12/01/2022 postreply 19:20:21

兩種都有用,用途不同 -tibuko- 給 tibuko 發送悄悄話 tibuko 的博客首頁 (0 bytes) () 12/01/2022 postreply 19:26:45

但是我覺得高中生就能學兩種語言嗎?是不是有點太過了,畢竟孩子高中學習不輕鬆啊。 -Pilsung- 給 Pilsung 發送悄悄話 (0 bytes) () 12/01/2022 postreply 19:32:45

robotics最好學C和C++,因為Arduino及硬件結合多。如果Raspberry Pi可Python -兄貴- 給 兄貴 發送悄悄話 兄貴 的博客首頁 (0 bytes) () 12/01/2022 postreply 19:41:03

我們家有很多Arduino的硬件。LD主要用C和MATLAB。但是他也買了一些RAS BerryPI的硬件。 -Pilsung- 給 Pilsung 發送悄悄話 (0 bytes) () 12/01/2022 postreply 20:00:27

高中生的通用語言,Python當仁不讓,但是AP要考Java。另外做網頁最好Javascript和SQL -兄貴- 給 兄貴 發送悄悄話 兄貴 的博客首頁 (0 bytes) () 12/01/2022 postreply 19:43:36

阿貴啊,你對那個openAI的chat有啥看法啊? -zeno- 給 zeno 發送悄悄話 (24445 bytes) () 12/01/2022 postreply 19:27:00

哈哈哈,你叫樓主“阿貴”,哈哈 -兩女寶媽- 給 兩女寶媽 發送悄悄話 兩女寶媽 的博客首頁 (0 bytes) () 12/01/2022 postreply 19:29:58

嘿嘿,不然怎麽尊稱? -zeno- 給 zeno 發送悄悄話 (0 bytes) () 12/01/2022 postreply 19:38:25

謝,你說的都在我圖中的一部分。略有不同是因為因人而異不同解讀。比如我覺得C是B的弟弟,而不是兒子,他們都是從BCPL派生 -兄貴- 給 兄貴 發送悄悄話 兄貴 的博客首頁 (0 bytes) () 12/01/2022 postreply 19:56:38

原因有2,一是B沒有成為通用語言,二是BCPL是MR搞的,B和C都是KT搞的,C相當於B的2.0 -兄貴- 給 兄貴 發送悄悄話 兄貴 的博客首頁 (0 bytes) () 12/01/2022 postreply 20:05:15

了解這些沒什麽意義 -風景線2- 給 風景線2 發送悄悄話 (0 bytes) () 12/01/2022 postreply 19:43:12

謝謝,我確實專門長時間研究過這三個語言用於USACO。結論是要用C++ -兄貴- 給 兄貴 發送悄悄話 兄貴 的博客首頁 (0 bytes) () 12/01/2022 postreply 19:58:02

Java和Python並不產生機器語言,而是VM上的bytecode,所以很慢。USACO上同樣的白金題,同樣的算法, -兄貴- 給 兄貴 發送悄悄話 兄貴 的博客首頁 (346 bytes) () 12/01/2022 postreply 20:10:42

老兄總結得好。ADA, A, B語言呢?當然匯編語言和機器碼語言就不必說了。 -老生常談12- 給 老生常談12 發送悄悄話 老生常談12 的博客首頁 (107 bytes) () 12/01/2022 postreply 20:58:47

Ada在Pascal分支,B在BCPL分支,不知道A,是APL,或者A++? -兄貴- 給 兄貴 發送悄悄話 兄貴 的博客首頁 (0 bytes) () 12/01/2022 postreply 21:03:29

請您先登陸,再發跟帖!