【轉貼】沒有喫夠苦頭的C++程序員稱不上了解C++

個人非常認同這個學習曲線圖,

C++確實是一門非常複雜的語言,沒有多年開發經驗,寫上多少萬行代碼,

根本就很難領悟到箇中的感受。

 

 

近日,國外技術博客lbrady.com 發表了一篇非常有意思的博文。文章認爲C++語言龐大而複雜,只有那些在c++開發之旅上喫過許多苦頭的程序員才能真正的瞭解C++。顯然作者受到一些刺激,他的博文名稱爲“永遠不要相信那些自稱懂C++的程序員(Never trust a programmer who says he knows C++)”。原文如下:   經過一段長時間的面試工作後,我意識到一個非常重要的關於C++的問題,那就是C++是個“嚴重兩極化"的程序語言。我的意思是:C++是唯一一個完全不同的兩類使用者都自稱精通,卻對它的理解大相徑庭的語言。讓我用下面這個圖示說明。

 

 

圖注:(自左向右,自上而下,所標文字爲各階段程序員對C++的認知。分別是:帶類的C語言、那些模板報錯信息真令人發狂、引用類型太不可捉摸了、到底啥是虛析構函數?這些異常說明符比Java的差、靜態對象初始化段錯誤、我們需要一些規則。)

  一般的程序員(特別有C語言基礎的)都可以很快上手C++開發,並且感到挺熟練。如果是這樣的程序員說他很懂C++,那他肯定在撒謊。因爲當他繼續在C++開發之路走下去時,他就會經歷上圖下曲線上標註的所有挫折,而後他就會認識到C++是一個多麼複雜的語言。在面試中,這帶來了一個優點(至少對面試官而言):很容易辨別哪些是經歷過這些挫折,哪些沒有。只要你提及C++真是一個變態的複雜語言時,挫折經歷後的同學就會向你抱怨,他們在使用C++時遇到的127個小問題。而沒有經歷過的同學就會說:“安啦,那不就是帶有類的C語言嘛?”(楊東傑編譯)

  你對C++語言的理解到了哪一步呢?

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章