回覆列表
  • 1 # OpenstackOne

    設計一門語言並不難,難的是說清楚為什麼要設計。

    你能想象微信為了推廣小程式,像google一樣設計一門dart語言替換js嘛?這根本不會發生。首先鵝廠不會有人這麼思考問題;第二,就算有人這麼思考,他很可能也找不到正確的方法論,“發現能靠語言解決的問題,發明解決問題的語言”,在中國,至少到目前為止,還沒有人做好過這兩項工作;第三,就算有人能做好,他沒有履歷背書,如何能戰勝同事的挑戰?

    不像在美國,那幫人可以說“I wrote python”。

    實際上誕生在美國之外的語言,流行起來似乎都需要一些運氣。像erlang這種在創立的時候就有落地場景的語言,是很稀少的。比如日本的ruby,ruby流行其實是個偶然,如果rails沒有基於ruby,那ruby恐怕會跟荷蘭的clean一樣,個別程式設計師知道它是個不錯的語言,有點特色,但是沒什麼人真的在用。其實lua也是這樣,儘管lua的發明者思路很精準,找到了“小”和“快”這兩個切入點,但是lua真正流行,在國外靠的大概是《魔獸世界》,在國內靠的大概是雲風和《大話西遊》,這些應該都在lua發明者預期之外。

    總而言之就是,華人目前對於“發明語言”這件事兒,確實還不太懂。而這件事的第一步,是非常難邁出去的。

  • 2 # MMLab

    一個計算機語言的發展離不開標準庫,如果一個計算機語言沒有標準庫,那它就很難得到廣泛的應用,C語言有libc,C++也有std標準庫,Rust語言也有。它們是伴隨著計算機語言的發展逐漸開發並完善的,標準庫可以由計算機語言本身編寫,用語言編譯自己,也稱之為自舉,逐步迭代出更豐富更高階的功能。如果感興趣的話可以閱讀以下python或者rust語言編譯器的程式碼,內部有很多透過自舉的方式開發標準庫的程式碼。

  • 中秋節和大豐收的關聯?
  • 女朋友聽了閨蜜的話,突然說不喜歡我了?