牛人十個月自學C++ 現在做C#開發工作


我從去年11月份開始自學C++(本人現在做C#開發),現在把我這10來個月學習體會寫出來和大家分享。

  1。關於要不要學習C++?(結論:要學,一定要學!)

  如今在網上很多為要不要學C++爭的不可開交,因為現在JAVA,C#,。NET都炒的很火,特別是JAVA,大有炸平廬山,停止地球轉動之勢。用林銳同志的話說,其實JAVA只是C++外甥,跑到舅舅身上撒了一泡尿而已。首先,我們從JAVA 的來歷上來說,JAVA的設計初衷是用來給家用電器設計程序使用的,最初設計者想用C++,但覺得C++太復雜,就在C++的基礎上做了一些簡化,設計出了JAVA,它的設計思想是跨平台,所以必須先在運行平台上安裝虛擬機,然后把源程序編譯成中間語言在運行。這是一個優點,但我們說任意優點都是建立在缺點上的,JAVA的缺點就是運行速度慢,這對於某些系統來說是致命弱點。況且,JAVA中沒有指針,對於制作系統軟件來說,這更是無法饒恕的。再來看C++。C++產生於美國貝爾實驗室,就是發明電話那個公司。設計初衷是用來改進C的開發效率,C是面向過程的語言,開發效率底,貝爾實驗室有大量的C程序員,所以只要在開發效率上提高一點點,就可以節約數目龐大的成本。C是什么東西?是用來代替匯編編寫操作系統的語言,用C++代替C,可以得出兩個結論:第一,C++必須具有同C相當的執行速度;第二,C++必須比C具有較高的開發效率。執行速度方面,C++的設計者的思想就是在改進開發效率的同時盡量不增加C++的系統開銷,當然有些地方非增加開銷不可,也把開銷控制在最小程度內。具非權威研究報告,C++比C的執行開銷多出不到10%。開發效率方面,C++引進了面向對象機制,庫機制,最大程度上實現了代碼重用,這是軟件開發人員的福音。C++在改進C的開發效率的同時,對C的缺陷做了一些修補。C的優點在C++中都得到了很好的保留,C的缺點在C++中都有了改進,有了更好的解決辦法。而且,為了現有的大量C程序維護,C++還全面兼容了C。縱觀當今程序語言家族,我覺得只有C可以C++相提並論,門當戶對,其它語言都無法和C++相提並論。無論從什么角度來說,C++都算的上語言中的老大。

  如今,網上有很多關於C++的爭論,其實爭論的人都是一些不知情的人,絕大多數是學校里的學生,我也曾經這樣。在學校里的時候,不知道究竟應該學習什么,要是遇到好的老師還可以,遇到垃圾老師,垃圾學校那就更糟糕。如今,什么MCSE,CCNA,CIW等等認證漫天飛,把人搞的昏頭昏腦,其實這都是認證公司炒的。社會上需要的是有真才實學的人,而不是需要證書。

  我從大二開始學習編程,一開始學習VB,后來學習DELPHI,再后來學習C#,再后來學習C++,繞了個大圈子,最后還是繞回來了。而且重新學習數據結構,操作系統,學習軟件工程,學習大學本科的基本課程,重新讀外國的程序設計名著,而這些以前在大學是不屑一顧的。勸如今還在學校的師弟師妹們,努力學習C++。

  2。為什么要學習學習C++

  1)C++的程序員身價普遍較高,當然,前提是你必須是高手。我所在的城市,那些公司根本就招不到合格的C++程序員,一方面C++程序員要求高,學習C++的人越來越少了。當然,懷着這個目的,你或許永遠無法成為C++高手,但我把這個原因放在最前面,可以給大家一個很明確的激勵,當你接觸C++后,發現從學習中獲得樂趣比高的工資更有動力;

  2)C++的優勢是用來開發大型軟件,從中可以學到很多優秀的軟件設計思想。C++不是軟件開發的首選工具,一般說來,大多人更願意學習和使用VB,為什么,簡單。簡單的另一個方面是功能的局限。微軟公司恨不的所有人都學VB,只有他一家會C++。容易上手,大家都喜歡學,喜歡用,很多人拿一本200頁的書,看個兩三個星期,就覺得自己是個程序員了,可以開發軟件了,而且覺得做出來的東西很不錯。當軟件規模大到一定程度的時候,其他語言就越來越無法駕馭,這時C++的優勢就體現出來了。你說做個成績管理系統,人事查詢系統,用VB,DELPHI,C#,JAVA都行,但是例如銀行,電信,保險,操作系統,數據倉庫,圖形處理,編譯系統,較底層的軟件時,其他工具幾乎是無法完成的。就說C++的指針,JAVA沒有,在遇到數據量交大的數據排序,搜索,動態內存分配時,它就沒有辦法了。所以說,學習C++,不僅僅是學到的一種語言,還學習了優秀的軟件設計思想。

  3)學習C++可以學習到計算機底層的理論,即使不是用C++開發,對計算機運行機制的理解,對建制穩定的系統,對運用其他語言,也是一種促進。這一點,我是在學習過程中體會到的,所以,要說出個大家可以接受的理由來較難,大家以后學習就知道了。

  3。怎樣學習C++?

  首先,我們必須承認,學習要講究方法,有捷徑。其次,我們還得承認,學習要下苦功,要務實。上小學的時候,書上有個故事,是關於王羲之學習書法的:王獻之問他父親王羲之,學習書法的秘訣是什么,他父親把他帶到后院,指着18口大水缸說,你如果把這里的水都寫完了,就知道書法的秘訣在那里了。這個故事相信很多人都還記得。前幾天看梁肇新(豪傑公司老板)的《高手箴言》,他說如果你如果願意利用5年時間來成為高手,那么你只要兩三年就會成為高手,如果你想一年成為高手,那么你5年也成不了高手。學習要切忌浮躁,要腳踏實地。我曾經很浮躁,結果一直呆在菜鳥堆里,當半年前我靜下心來學習C++,才感覺有真正的進步。現在做WEB開發,雖然我從來不看WEB開發的書,但是我的同事遇到問題時,我經常能一下說出問題的所在。因為你看問題的角度變了。所以,學習C++的第一個方法是:切忌浮躁。其實學任何東西都一樣,欲速則不達。從基本數據類型看起,從基本流程控制語句寫起。

  其次,教材很重要,要看經典名著


注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
粤ICP备14056181号  © 2014-2020 ITdaan.com