Re: [問卦] C++到底難學在哪裡

作者: cateran (雲川閒步)   2023-03-07 11:58:43
※ 引述《iLeyaSin365 (365)》之銘言:
: C++是物件導向,比C困難吧?
: 打開Cpp語言的程式碼
: 我看到的不外乎質樸的for循環、
: 列印的語法、函數、參數。
: 雖然覺得C++看來看去就是類似的感覺,甚至比javascripts感覺更簡陋一些。
: 好像會陡然上升墜五里霧。
: 如果拿有C語言體質的rust相比,
: Rust看起來好像更深奧(更多概念)。
: 到底C++難在哪?
:
c++難就難在包山包海
既要
1. 兼容c的底層控制
2. 又有"modern c++"想要把時下其他語言流行的特性包進去
但為了1. 所以整個語法變得很難看
然後又沒有官方的套件管理跟build/testing的framework
初學者想要做一個實用的視窗或是網路小應用程式
你用別的語言都已經做完上架app store開始賣了
用c++可能還卡在怎麼compile第三方套件
(什麼?還要學寫Makefile!?)
光就語言本身
你玩物件導向如果不懂virtual function底層實作 就有可能會產生災難
更不用說一堆"基本"的modern c++ idioms
像是RAII CRTP SFINAE
去找Effective Modern C++來看 一堆篇幅在講型別判斷問題
其他語言的使用者來看只會滿頭問號
再來你如果想要找C++的職缺
面試官一定會問到一堆thread除錯跟cache最佳化 的問題
(如果不用會這些 那幹嘛找C++工程師?)
你說RUST 其實RUST主要就是想處理C++的這些問題
但你若要找工作 現在C++職缺還是遠大於RUST
以後就不知道了 但我看很難 可能三十年後
RUST死了 C++還活著 orz

Links booklink

Contact Us: admin [ a t ] ucptt.com