殺死Haskell的人也可能殺死Rust · GitHub

banq發表於2020-09-12

Haskell和Rust有著密切的聯絡。Rust的大部分樣式在很多方面都與Haskell的樣式相似。從某種意義上說,Rust是Haskell的轉世,帶有一點類似於C的語法,數量很少。
 

Haskell死了嗎?
曾經有一段時間Haskell是值得一看的語言。在2000年代後期到2010年代,Haskell是每個人都希望可以使用的程式語言,但是除了少數人之外,沒有人能做到。在Haskell中完成了一些令人印象深刻的專案。已經完成了大量的財務專案。
為什麼Haskell突然間漂亮地停了下來?現在肯定還活著。沒有人再考慮在Haskell進行重大專案了。誰是GHC Haskell程式設計師?GHC Haskell的方言已經屬於一種學術語言。
Haskell當時處於函數語言程式設計的最前沿。正是該語言表徵或概括了FP的真正含義。2000年代中期有兩個主要競爭對手:Scala,JavaScript。最終有Golang和C ++成為關注者。Haskell帶領他們。這些語言從Haskell學到了很多東西。現在,任何做Scala的人都知道for-forhension和許多庫的語法直接來自Haskell世界。
Haskell編寫和交付速度比Scala應用程式或C ++應用程式快五倍。Haskell以許多有趣的方式進行統治,但它死了。是什麼殺死了它?
我在這裡要用一個詞:“傲慢”。
你們中有些人可能還記得2000年代中期的Reddit討論。一堆人在那裡談論很酷的數學問題。在這些談話中,他們經常嘲笑其他語言,例如Go,但那時我是golang的追隨者!我不喜歡他們這樣。 
Haskell社群中存在一種態度,再一次,這不是一種邪惡的態度,也不是出於惡意而誕生的。但是有一種態度說:“您知道,我們的工具是如此出色,我們的語言如此出色,我們不需要遵守規則。我們可以做些其他的事情。我們不必與其他人交談。我們不必執行其他程式。”
Haskell人不想執行常規程式。他們不想處理公司資料庫。他們不想面對已經演變了二十年的可怕模式。真是令人討厭。他們找到了使用類別理論和從屬型別的方法。他們在自己周圍築了一堵牆,他們選擇生活在技術泡沫中。與外界的邪惡隔絕。
讓我們將“進步”重新定義為:“僅僅因為我們可以做某件事,不一定就一定要做那件事”。
因此,殺死Haskell的是狹隘主義,無法解決企業的需求。
Haskell在某些限制條件下表現出色,但是它的能力有限,或者是使用者希望解決企業一般問題的能力受到限制。
 

有什麼可以使Rust擺脫與Haskell相同的道路?
記住可能是2000年代最有影響力的語言的命運。純函式正規化開始的語言,影響了我們目前正在做的很多事情的語言。這種語言的命運幾乎被遺忘了。使用它並熱愛它的人們不得不跳到Scala謀生,差點殺死了他們。
我們擁有Rust語言的強大工具。我們也許會透過弄亂來殺死了它,也許透過自大來殺死了它,我們也會透過忽略企業來殺死它。我建議我們不要走那條路。

  • 第一個是紀律。編寫文件的紀律。如果您編寫程式碼,您應該編寫該死的文件。當所有人都已經發現說“我要寫一個好的文件,以便其他人可以輕鬆地使用我的工作”是多麼困難時,為時已晚。
  • 謙卑的專業精神也可能會阻止這種消亡,這與Haskell所經歷的消亡一樣。區別“我們與他們”其實是傲慢滋生的對立態度(banq注:A為B服務,這裡區分了A和B是兩類人,雖然字面上有服務兩個字),還有一些有趣的對立廣告,例如“ Mac vs PC”;“我是Rails,我是Java”。我認為如果您認真對待它,它就不會有任何危害。
  • 最後一件事是接受解決“骯髒”問題。解決可怕的模式問題。我們將不得不坐下來說:“不,我們會處理這個問題”。如果我們最終要生存,就必須解決每個人都遇到的問題。否則,其他人將解決這些問題。

相關文章