當前位置:
首頁 > 科技 > 50 歲老碼農:Python Bug 太多,我選 Rust和Go!

50 歲老碼農:Python Bug 太多,我選 Rust和Go!

作者 | 伍杏玲

責編 | 唐小引

出品 | CSDN(CSDNnews)

這裡有一位IT界的老司機,不,是久經沙場的老碼農:

Linux專家,幾十年來開發不少免費的開源軟體;Linux之父的同窗好友,見證Linux的崛起;當過大學老師,擔任過多家企業的首席技術官;會芬蘭語、瑞典語、英語、德語四國語言。

他就是Linus的好友——Lars Wirzenius。

作為88年便成為赫爾辛基大學的計算機科學系的學生,Lars Wirzenius寫代碼已有30年,可謂是編程界的「老司機」了。可最近這位老司機引起程序員們的熱議,為什麼呢?

面對正大熱的Python,自1993年就開始使用Python的他竟說:「不要用Python,去學Rust和Go吧」。

老碼農煉成記

從2000年以來,Python是Lars Wirzenius的「心頭好」,一直用它編程。可最近幾年,Lars Wirzenius竟對Python竟有「兩看相厭」的不滿意,他直言Python有「三宗罪」:

Lars Wirzenius想從編程工具中得到更多的幫助,比如靜態類型檢查、更好地處理抽象和代碼模塊,讓他編寫出更大、更複雜的軟體(但Python沒有)。

他正在編寫更具挑戰性的軟體,並試圖從現有的硬體條件中獲得更多的幫助(但Python並不能)。

他沒有感覺到Python社區正朝著他想遵循的方向發展。相反,社區還往他不喜歡的方向去發展。(他看不慣)

嗯,一個傲嬌碼農煉成記。

接著Lars Wirzenius話題一轉,嘮嗑到他寫了十多年但宣告失敗的「親兒子」——Obnam:

他從2006年開始用Python編寫Obnam備份服務程序,Obnam大約有15000行Python代碼,但該項目最終在2017年宣告結束。他說,Python很好,具有一定的程序規模和複雜性。但——

(開始發好人卡了)

他經常在Python的一些靜態的、強類型的地方遇到Bug。他說:像Python這樣的語言需要程序員自主控制的地方很多。

所以他決定要棄 Python,那麼接下來該用什麼語言編程呢?老碼農將目光轉移到TA!

老碼農為什麼會棄 Python 投奔 Rust和Go

Lars Wirzenius學了幾個月的Rust和Go,感覺良好,可以想像他對這兩個語言「比心」點贊道:「這兩個語言都有強大的靜態類型系統;都有不錯的模塊系統;兩者很好地支持並發性。」

於是他決定「貪新忘舊」了:我是寫大型軟體的,這兩個語言都可以很好地替代Python。

在兩者中,Lars Wirzenius更喜歡Rust,因為它「有更好的類型系統、更好的編譯器、更好的工具」。並連連打call:「它吸取了過去三個世紀編程語言和工具的經驗!」

目測Rust已化身為Lars Wirzenius的「繆斯女神」:「(Rust)的設計方式是有充分理由的!」

Python vs. Rust 和 Go,開發者們都怎麼選?

那麼網友對Lars Wirzenius「迷弟」般的言論有什麼看法呢?

正反:比起Python,我也會選Rust和Go

@lordnacho

我也會選擇Rust和Go,但是基於和Lars Wirzenius不同的原因。

當程序員編寫任何「腳本」時,Python仍然是最好的語言:上手快;類型少,使用起來很明顯;性能不是問題。

我認為Python最終是用來粘合代碼。用來做粘合代碼的語言應該有一個很大的libs生態系統,並且它是易於閱讀。綜上所述,Python有以下優點:空白的格式便於閱讀,還可以使用一些內置的list/dict語法,讓代碼更加整潔和簡短。

對於Web服務來說,當你需要更快的node.js但你不想花費太多時間去選擇一個C 版本時,選擇Go是一個很好的選擇。

@littlestymaar:

我已經開發過一個100KLOC靜態類型的項目,我可以看到靜態類型(語言)是如何搭建更小的代碼庫。當然我不能在寫完一千行JavaScript時,也不會遇到一個「undefined不是一個函數「這樣的錯誤。沒錯,你可能會覺得我是一個糟糕的程序員,但我確實發現靜態類型(語言)很有用。而且與Java、C#或Go相比,Rust的確非常好。

反方:人生苦短,我只選Python

@dkersten

我非常喜歡Python,自2001年以來,我一直在使用它,並且多年來一直是一個非常頑固的Python愛好者。

@typon

然而,整個數據科學世界都建立在Python之上。我不明白(大家)對這種現實的公然無視。

當然還有這種,越學越High的程序員:

@atoav

當我開始學習Rust時,我是一個學了一年Python的程序員,我想要一個強類型的快速替代Python(的語言)而不需要垃圾回收。

我讀過一些關於Rust的東西,它看起來很有趣,足以滿足我的程序。我嘗試用了下它,並且比我預期更喜歡它,現在我用它比用Python多。

有趣的是,在我學習了Rust之後,我對C和C 等語言的興趣增強了。它給了我一個關於C 的良好新視角,並且包含了大量好的模式和概念,這些模式和概念在其他語言中變得有用。

你怎麼看?

最後Lars Wirzenius爆料說,其實自己還沒用 Rust 和 Go 寫過什麼重要代碼,上面的說的鼓勵大家「學 Rust 和Go,不用Python」僅僅是根據他幾個月的看書學習來談的,他直言後續隨著他的深入學習,沒準想法會有所改變。

那麼作為開發者的你,是看好正大熱的動態語言Python,還是靜態語言 Rust和Go呢?歡迎來留言哦!

參考資料:https://news.ycombinator.com/item?id=19475218

熱 文推 薦


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 CSDN 的精彩文章:

如何用 Linux 技巧大大提高工作效率?
五年燒光 3.5 億美金,互聯網獨角獸是如何把自己玩死的?

TAG:CSDN |