Rust和C++、Go代碼相比,有哪些優雅之處?


請不要贊這個和問題差不多的垃圾回答,謝謝。

為什麼要比這種無聊的東西?

什麼是優雅? 給出一個良好的定義,讓所有人都認同。這是不可能的。

Go 的開發者覺得通過對返回值來異常處理更優雅,相對於 C 的錯誤碼這確實更加實用,比起別的方式又更加簡潔簡單 less is more,習慣的話也並不會有多少坑。

而 C++ 有多種方式比如說異常或錯誤碼,你要用模版弄 Maybe 也可以,C++ 不會把自己的價值觀強加到程序員的頭上。

Rust 的 Result 錯誤處理有人喜歡,是一種學院派的良好解決方法,避免了空指針的百萬級錯誤。但是有人覺得帶來太多的學習負擔,而且沒有 Haskell 的 Monad 和 do 語法也帶來了一些繁瑣和不通用。

每一種思路都有背後的一系列哲學,可能在設計者和這些方法所面對的問題面前它們都是最優雅的。

如果硬要在這些種種設計思路的不同之中爭論誰優雅,那麼就是一個永遠也吵不出結果的垃圾討論。

而本問題涉及到所有的設計分歧,那麼本問題下面如果有討論的話只會是垃圾的垃圾次方

發這種問題純屬又無聊又[友善度],同一個語言可以較量一下哪種寫法比較優雅,不同語言比個屁優雅。

好好寫代碼,別想這些沒用的事情了。別學我還要浪費時間碼那麼多字,有這個時間為什麼不去學習寫代碼呢?


C++。寫出來的代碼自己都覺得美爆了。不光實現的好,還各種控制,避免出錯。

再說點額外的,Go的(即便是網路應用)效率比C++差「一些」。

所謂優雅的攜程或者Actor,那都是效率不太信重要的時候用而已。

什麼?你的應用就是對效率要求不高且不複雜,那咱們就用Lua吧(嗯,lua是動態語言,寫擴展還行。複雜點的我還是用c++)。


c++因為歷史包袱的原因,坑太多,只有熟悉這語言的人用起來才能便捷優雅

當然,畢竟c++11在國內還是普及的太慢,至少到目前為止,我還沒能見識到,從開始學編程時,就直接從c++11這個最正確的道路為起點,天生避開了所有陷阱的新時代cpper,能做到何種地步。

我相信那會很美好。如果有哪所985、211的c++課程教材用的是類似c++ primer這樣的,那麼我可以期待下。

go語言么……沒用過,但從日常看到的他人交流來看,語法糖和吐槽一樣多,有些嘈點還是c++程序員無法接受的,所以興趣不大

rust么,作為一個被c++歷史包袱坑慘了的碼農,知道世上還有這麼一款語言時,感覺簡直是天降正義,天國之光!可惜一直沒抽出時間去實際學習,只能持續保持關注了


個人感覺,rust 比較好一點,c++和Go語言都容易犯低級錯誤,而rust沒辦法不去仔細考慮每一個變數的上下文。可是如果是專業的高手,無論什麼語言,都能寫出邏輯清晰,排版美觀的代碼。


個人感覺Go。因為Go語法簡單明確,代碼好讀。


推薦閱讀:

哪兒有linux命令的源代碼下載?
送什麼禮物能夠從代碼手中搶到程序員的心?
27歲想轉python,是否值得?

TAG:編程語言 | 編程 | 代碼 | Rust編程語言 | Rust編程 |