
老實說如果現在用的是C#、JAVA、PHP等,且沒用過C/C++不太建議轉C/C++,但非常建議多看看底層的知識,C#做了幾年之后發現也就是那點東西,不深入學習,很多東西其實是只會用,根本不知道到底是怎么回事。我相信很多C#程序員不知道多態到底是怎么實現;方法到底是怎么被調用的;不 知道哪些是在編譯器確定,哪些是在運行時確定的;經常聽到字符串池的概念等,微軟把C#封裝得太好了,掉坑里的機會太少了,大不了不管 3721,try...catch一下,也讓有些人變得不那么愛思考了,像C/C++一不小心就掉坑里了,不思考都不行。經常聽到有人說:C#入門容易, 精通難。那是因為學底層的知識更難些好不好。說這些不是針對誰,以前寫C#就是吃着火鍋唱着歌,各種輕松舒服,C++就兩字:苦逼。要啥啥沒有,如分割字符串這種最基本的功能都得自己實現,剛做C++的感覺就是:自己坐在豪華的游艇上,看到對面的海盜船很酷,於是就往海盜船一跳,一上船發現這坐船到處都在 漏水,各種設施都很差勁,一不小心就掉水里了,各種感覺不適應。
學C++好很長時間嗎?不要
從自學C++到現在差不多3年時間,期間多次想放棄,心中常有的一個念頭就是:把這些時間用在學C#,C#可以學得更好,工資可以拿得更多,每次看 到發到手中的這點工資,就沒啥干勁了,但我也一直明白若要把程序當做一個長久的職業,我是要必會C/C++的,期間偶爾有幾個月沒有學C++,但最后還是 放不下,又想起她。最后拖到兩年多才做自己一直想做的C++,感覺是個很漫長的過程,內心的針扎還是挺多的。這兩年來業余時間拿來學習C++的時間平均在 半個小時左右,跟10000個小時比起來還是很少的,當然10000個小時是要成為真正的大牛的,而我是剛上賊船,看了這么多書理論還是有些,還需大量實 戰。
C++很難嗎?NO
C++被成為世界上最難的編程語言,其實並沒有傳說中的那么難,但有一點是可以肯定的C++程序員在沒有成為小牛之前一直都在針扎,對,就是針扎, 過得很苦逼,我在上個部門做C#的時候沒加過一天班,做C++后,以前的同事說我瘦了,以前做C#用一個月的時間一個人重寫了公司的工作流,做C++后, 花了兩個多月做個歷史管理器,還經常加班。雖然現在自信多了,但還要繼續針扎下去。等成為小牛后,我相信就不分編程語言了,但如果你不是做C/C++,卻 想做C/C++,就別聽語言都是浮雲這種廢話。在你成為小牛之前你才是浮雲,你得苦逼,而且這是轉行,這也是我不太建議轉C/C++的一個原因,你之前學 到的很多東西都是白學的,你要從0.1開始,又開始做菜鳥,大家都知道菜鳥的日子不是那么好過,等你成為小牛之后編程語言才是浮雲。為什么大家都說他難 呢?我估計就是被哪些沒學好的人宣傳的,沒學好之前過得苦逼,那當然發自內心的認為難,其他的朋友們聽他們一說估計也覺得難。在加上一些大牛也說C++ 難,人家說難不是因為自己沒學好而說難,人家是因為知道得大多,發現C++太靈活,坑太多,新手很容易掉坑里。要我說,任何編程語言,基礎語法也就那點東 西,等你明白了這些基礎的東西是怎么實現,為什么要這樣實現,編譯后是個什么樣子,你也就發現C++也就那樣,不管牛不牛,也都是在用C++干活,只不過 是有的人再用C++做增刪改查,有的人在做大家都在用的產品。
怎么學習C++?標准答案是:多思多寫多看
作為新菜鳥的我,是不應該回答這個問題的,但這個問題的正確答案的確是多思多寫多看。現在來說說我的失敗經歷,作為智商不太低的我,學了兩年多才做 C++,這顯然是失敗(哈哈,程序員就應該自信,千萬別懷疑自己的智商,一點都不能有)。的確我是走了彎路,所以我像很多有失敗經歷的前輩一樣,來分享自 己的失敗經歷,以免后輩們重蹈前輩們的覆轍。
我學了好久的C++,都不會寫一個C++的類,其實開始的時候一直都是在寫C,一直在用C寫算法,嚴重受了算法重要的影響,其實開始的時候我都不是 在學C++,買的第一本技術書,不是關於C++的,而是關於算法的。學C++的時候也沒有買一本比較好的系統介紹C++的書籍。直接第一本C++書籍就是 Effective C++,看這本書還是要一定基礎的。看這本書的時候我已經做了兩年多的C#,在學校里有一點C的基礎,之后也看過《高質量C++編程指南》,還是有一定的 程序基礎,如果你有一定的程序基礎,想轉C++,還是建議先看本系統介紹C++的書籍,如《C++ Primer》,這本書的作者也是《深度探索C++對象模型》的作者,還有C++他爹寫的那本啥也值得一讀,大家都是這么說,應該不會錯,兩本選一本,有 一定基礎之后再看Effective C++,感覺不錯之后再看《深度探索C++對象模型》,這本差不多之后再看《深入理解計算機系統》,這本不是講C++的,講的是底層的東西,你學C++不 就是想學底層的東西嗎,C++語法就那點東西,成為牛人之前還有一堆的書等着你去看,你還要寫一堆的代碼。
以上的是一些個人的分享,想了解更多編程語言教程知識請登錄e良師益友網。
