如何看待 C++ 越來越像 Python 這個說法?
02-23
相關鏈接:C++ Has Become More Pythonic
中文鏈接:你們以為我在學C++?其實我在學 Python
說說我翻譯那篇文章的初衷吧。
其實就倆字:好玩。
那會恰好對 Python 挺著迷的, 工作上又一直使用 C++。突然發現,用 C++ 來模仿 Python 的一些特性,即鍛煉了 C++ 的編碼能力,熟悉了 C++ 新標準的語法,又了解了 Python 的基本語法,和一些 "奇技淫巧"。這種雜糅的學習方法,個人覺得挺新穎,又很適合初學者。
我那篇文章的最後給了兩個鏈接是原文沒有的:- 如何編程求解 100 以內的質數? - Milo Yip 的回答
- ryanhaining/cppitertools · GitHub
這麼玩的人,早就有了。難道真的就我一個人覺得很有意思?
萬萬沒想到,這也能扯到語言之爭。。。
萬萬沒想到,這也能變成黑這黑那。。。用很戲謔,不正緊的語言來描述這麼個玩法,竟然仍然被理解成一種貌似嚴肅的說法了。。。
不知道原作者真實的想法,而我肯定不會把『C++ 模仿 Python』信以為真的。。。
能不能不要總是這麼無聊。非要板起臉說說這個腦殘,那個菜的。看看一些有趣的東西,樂呵樂呵得了唄。一初學python者問禪師:為什麼一個動態而不是靜態的語言,一個應用領域更多是在shell/php和java領域的語言天天會和C++比較呀?
禪師拿起新華字典貼臉上.
初學者恍然大悟:是了!編程的本質,不過都是代碼爾.就像各種文學逃不過一本字典.禪師跳起來一個爆栗:我是說你們臉皮和字典一樣厚!跪求python出concept mapping配合模板偏特化(動態語言的話應該叫開放式的動態的multiple dispatching),這兩個搞出來了,我就承認。
別逗了,明明就是 C++ 和 Python 都在學 Lisp(逃
Python 本來就打雜家拳的,你隨便舉個被 Python 學來的 feature 都可以說某某語言越來越像 Python 啊……
- Range Loop 是好,但 C++ 這語法不是 Java 的么。
- Python 個動態類型幫 C++11 的靜態類型 + 類型推導唯一的相似點是你不用顯式聲明類型,除此之外根本就是兩碼事。
- 能腦補 BS 老爹要是因為一個語法糖就羞愧,「也是醉了」。語言層面提供一套默認的 list/tuple/dict 實現是好的,但吹成這樣也太 naive 了吧。
- Lambda 居然變成 Python 的大神器,抱歉各位我出去笑會。
- 這年頭這種程度的標庫不是溫飽級別的配置了么。
- 至於 Variadic Function,C 都有……但這跟 initializer_list 那個 homogeneous list 壓根就是兩碼事好不好。
這種啥都不懂的井底之蛙 Python 腦殘粉,你讓他寫兩天 Haskell 他就乖乖閉嘴了。
Haskell 表示笑而不語
文章里舉例的特性應該是現代高級語言都具備的,不能說是誰抄誰
c++可是背負著高性能的枷鎖追趕腳本語言哦,所以別再比較了,沒意義。
這真的不是在黑?
可人又說了,Python 里創造個 Dictionary 簡單的跟什麼一樣6。
myDict = {5: "foo", 6: "bar"}
print(myDict[5])
切,C++ 本身就有 map 類型,現在又多了個哈希表 unordered_map,更像了:
auto myDict = std::unordered_map& 試試不藉助第三方庫搞個 myDict = {5:"foo", 6:["bar"]} ? ---
std::cout &<&< myDict[5];
推薦閱讀: