殺死Haskell的人也可能殺死Rust · GitHub
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”。我認為如果您認真對待它,它就不會有任何危害。
- 最後一件事是接受解決“骯髒”問題。解決可怕的模式問題。我們將不得不坐下來說:“不,我們會處理這個問題”。如果我們最終要生存,就必須解決每個人都遇到的問題。否則,其他人將解決這些問題。
相關文章
- 殺死8080埠
- linux殺死後臺程式Linux
- 殺死那個遊戲公司遊戲
- Linux基礎命令---殺死程式pkillLinux
- Linux基礎命令---殺死程式killallLinux
- Linux基礎命令—殺死程式pkillLinux
- Mac檢視和殺死後臺程式Mac
- [譯] google會背叛並殺死Android嗎?GoAndroid
- 按照名字殺死程式的四種方法
- 雲端計算會殺死開源嗎?
- 最新的AI會“殺死”程式設計嗎?AI程式設計
- 檢視埠被佔用情況,殺死埠
- 批次殺死MySQL連線的幾種方法MySql
- 【oracle 殺死繁忙程式 ORA-00054】實驗Oracle
- 軟體的複雜性正在殺死我們
- Windows中殺死佔用某個埠的程式Windows
- 你永遠都別想殺死《動物之森》
- 複雜性正在殺死軟體開發者
- abc153E 殺死怪獸所需的最少魔法
- 殺死Apache Kafka:過度架構的陷阱 - Stephanie SherriffApacheKafka架構
- 批次殺死MySQL連線的四種方法詳解MySql
- “我想殺死兩個孩子再自殺”產後抑鬱的媽媽有多可怕!
- Linux檢視磁碟用量,以及殺死已刪除檔案的程式Linux
- 「跳一跳」兩年後,廣告“殺死”遊戲小程式?遊戲
- 迪士尼851億美元收購福克斯?死侍屠殺漫威宇宙或成真
- iOS除錯小技巧,在殺死程式怎麼檢視NSLog資訊iOS除錯
- 直播軟體開發,Android實現根據程式名殺死特定程式Android
- 022 Rust死靈書之汙染Rust
- 012 Rust死靈書之分解借用Rust
- 020 Rust死靈書之展開Rust
- 025 Rust死靈書之原子操作Rust
- o1之後,GitHub又接入Claude、Gemini,網友:也殺不死CursorGithub
- 032 Rust死靈書之Vec的IntoIterRust
- 033 Rust死靈書之重構VecRust
- 008 Rust死靈書之生命週期Rust
- 010 Rust死靈書之Drop檢查Rust
- 024 Rust死靈書之Send和SyncRust
- 026 Rust死靈書之實現VecRust