???? 總會時不時的懷疑自己是不是學編程的料,還是自己太笨?
???? 自己讀研前對編程可以說是一竅不通,雖然本科時學過C,但那時也只是應付考試,沒學到什么真才實學。
???? 幸好讀研后,自己開始猛的補各種知識,開始從頭學C,慢慢的學的有點起色,心里有點小得瑟。自以為學的還可以,就去POJ做題,純屬找虐,信心一下子又重新跌倒谷底。
???? 之后又再好好研究C,學一些普遍的算法,真正的開始有起色。就試著寫寫貪吃蛇,五子棋之類的小游戲,雖然寫的過程也是百轉千回各種糾結,但最后寫成后內心還是挺溫暖,覺得編程門終于向我開放了。
???? 之后又開始自己裝linux,學寫linux下的一些常用指令以及一些編程,雖然不懂的很多,但遇到問題問度娘,度娘神通廣大啊,讓我積累的東西越來越多,慢慢的對linux下的編程有了一些了解。雖然還只是菜鳥,但堅持下去,誰能保證菜鳥就不會有春天?
????? 之后開始學C++,看的是錢能的《C++程序設計教程》,剛開始里面的繼承,多態,特別是虛函數和運算法重載部分,確實讓我狠狠的難倒了一回。看不懂能怎 么辦?我采用了最笨的辦法,多看幾遍唄,就是死磕。最后好像間間斷斷的把這本書看了至少3遍,算是對C++的語法有了一定的認識,雖然用著C++形式寫著 C的代碼,但還是心里還是挺洋溢的。雖然看了幾遍,但還是有些概念不是太清晰,不是太會運用。無意中翻了一本Java的書,其實大家都知道,Java跟 C++還是有挺多相似之處的,竟然對Java產生了很大的興趣,去圖書館借了本Java的書,記得用了一個星期就把Java的語法部分全看了一遍,而且看 的過程中竟然加深了我對C++很多知識的理解。不過還是對C/C++情有獨鐘,之后還是堅持學C++。開始看《C++ Primer》,這才發現國內的教材確實沒法跟國外的教材比,這本書確實是本難得的經典書目,國內的教程對很多東西都只是淺嘗輒止,概念的解釋也是不太清 楚,根本無法讓自學者體會到C++這本編程語言的精髓以及與C的區別。那時真像一個饑餓的人趴在了一塊面包上,開始廢寢忘食的拜讀這本被譽為“圣經”的經 典書籍,開始學習STL,這時才真正體會到C++的魅力,以及與C的區別。以前一直聽別人說C++非常難學,自己也覺得C++確實挺難學,但看了一部分 《C++ Primer》后,覺得情況可能真不是我之前想的那樣,覺得C++雖然需要理解的東西確實比C要多,但學到一定程度后,C++真的將程序員們從C的禁錮中 解脫出來,才發現C++是多么的好用。到底C++有多好?這個問題很多大神們都討論過,我這菜鳥就不好多說了。
???? 之后開始學數據結構,現在也一直在學,真的挺麻煩的,什么棧,什么樹啊,圖啊的,確實挺讓人惡心的。自己開始寫棧的實現,看嚴蔚敏的數據結構書時把棧介紹 的那么難,剛開始都看懵了。能怎么辦?老辦法,死磕唄。多看幾遍,自己試著寫出棧的實現,不斷寫,不斷的出錯,出錯后再寫,再出錯,再寫,最后應了一句古 話---皇天不負有心人。覺得數據結構也好,算法也好,或者其他沒學過的東西也好,剛開始看都挺懵的,覺得怎么這么難啊,太難了,自己能不能解決啊?最后 弄清楚后才發現,其實啊,什么難不難的,也就那么回事。死磕唄!
???? 雖然最近學習遇到很多問題,確實挺頭疼的。能怎么辦?死磕唄。
?
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
以下為大牛的學習建議:
C++學習建議
C++缺點之一,是相對許多語言復雜,而且難學難精。許多人說學習C語言只需一本K&R《C程序設計語言》即可,但C++書籍卻是多不勝數。我是從C進入C++,皆是靠閱讀自學。在此分享一點學習心得。個人認為,學習C++可分為4個層次:
- 第一層次,C++基礎:挑選一本入門書籍,如《C++ Primer》、《C++大學教程》、或Stroustrup撰寫的經典《C++程序設計語言》或他一年半前的新作《C++程序設計原理與實踐》,而一般C++課程也止于此,另外《C++ 標準程序庫》及《The C++ Standard Library Extensions》可供參考;
- 第二層次,正確高效地使用C++:此層次開始必須自修,閱讀過《(More)Effective C++》、《(More)Exceptional C++》、《Effective STL》及《C++編程規范》等,才適宜踏入專業C++開發之路;
- 第三層次,深入了解C++:關于全局問題可讀《深入探索C++對象模型》、《Imperfect C++》、《C++沉思錄》、《STL源碼剖析》,要挑戰智商,可看關于模版及模版元編程的書籍如《C++ Templates》、《C++設計新思維》、《C++模版元編程》;
- 第四層次,研究C++:閱讀《C++語言的設計和演化》、《編程的本質》(含STL設計背后的數學根基)、C++標準文件《ISO/IEC 14882:2003》、C++標準委員會的提案書和報告書、關于C++的學術文獻。
由于我主要是應用C++,大約只停留于第二、三個層次。然而,C++只是軟件開發的一環而已,單憑語言并不能應付業務和工程上的問題。建議讀者不要強求幾年內“徹底學會C++的知識”,到達第二層左右便從工作實戰中汲取經驗,有興趣才慢慢繼續學習更高層次的知識。雖然學習C++有難度,但也是相當有趣且有滿足感的。