當前位置:編程學習大全網 - 編程語言 - 想自學c++

想自學c++

基礎課程,如數據結構、操作系統原理等。,不能讓妳馬上意識到壹個linux(這就是很多人嘲笑理論課無用的原因),但是它們可以在學習新技術的時候,顯著降低妳學習曲線的斜率。我整個大二都是在編譯中度過的,我壹直認為對於壹個初學者來說,IT行業的技術潮流是追不上的。我經常看到我的DDMM學生扔掉他們的課本,出售壹些昂貴的書籍,如C #和VB.Net,這讓我感到非常難過。而且很多不知道指針是怎麽回事的BBS站朋友都很樂意討論C#裏不能有指針,這讓我覺得好笑。C#就像當年的ASP,“就像春天的大風,在夜裏吹來,吹開萬株梨樹的花瓣”。於是,很多學校的信息學院都變成了“網絡學院”。很多96級97級的大學生都上了Web。當然,我沒有任何歧視某個行業的意識。我只是覺得他們如果在基礎課上多花點時間去追趕這些時髦的技術,可以走得更遠。

幾個誤解

初學者趕C#潮流,其實只是學習過程中經常遇到的幾個誤區之壹。我將用壹些實際的例子來說明這些現象。妳可以壹步壹步看妳是否屬於其中的壹個或多個:

認為計算機技術等於編程技術;

有些人即使沒有這種想法,潛意識裏也有這種沖動。讓我驚訝的是,信息學院的很多同學也有這種想法。他認為計算機專業就是編程專業,所有和編程無關或者不太相關的課程他都不在乎。極端的學生只要沒有“編程”二字就不看書。

其實編程只是計算機技術應用中復雜度最低的壹種勞動,這也是為什麽IT行業底層的人都是編碼員。計算機技術包括多媒體、計算機網絡、人工智能、模式識別、管理信息系統等。編程工作只是在這些具體技術的理論研究或工程實踐過程中表達算法的過程。程序員不壹定有很高的計算機技術知識。而壹個有趣的現象是,很多掌握計算機技術的科研人員並不懂編程。網上的大肆宣傳和現實中良好的工作條件迷惑了編程的勞動。其實每個程序員心裏都清楚,這些東西並不比其他專業難學,所以自然不會高端。

咬文嚼字自有風格:

看過壹本女生寫的《計算機網絡原理》教材。這個女生像小學生壹樣,在書上畫滿了橫杠,筆記寫滿了。打印出來肯定比課本厚。我不明白的是,像計算機網絡原理這樣的課程,有必要做筆記嗎?我們的應試教育真的害了很多學生。很多同學在學原理之類的課程時,就像學習馬列主義原理壹樣,逐字逐句背誦記憶。這是我見過的最愚蠢的行為。所謂“原理”,就是妳需要掌握它為什麽這麽做,學習為什麽,而不是怎麽做。極其認真的同學死記硬背以太網網線的最大長度,數據幀的長度,各個字段的意義,IP頭的格式等等,卻忘記了路由的原理,忘記了TCP/IP協議設計的目的。總之,很多人花了很多時間背書,卻什麽也沒學到。

這些學生學編程也是如此。他們準確地記得C++語法的每個細節。看了C++教程,看了《用C++思考》(真的是壹本好書),裏面C++,C++參考,這個C++,那個C++……++...然後發現自己忘了壹些C++的語法,最後還是回去補上了。壹個小弟跟我說:“C++太難了。妳在這裏學,就在那裏忘。學了繼承,就忘了模板。”我的回答是,“不學習很容易”。我沒教壞他。我只是跟他說,堅持C++的語法就像孔已經炫耀過茴香豆的茴香字的幾種寫法壹樣沒有意義。妳根本不需要太在意C++的語法,開始編程就可以了。如果妳不記得任何事情,檢查MSDN,並得到它立即完成。我有壹個結論,對程序語法的理解是實際開發過程中最無足輕重的知識。這也是為什麽我在給同學用Basic寫小程序的時候(我之前沒學過),只花了半個小時看語法,然後半個小時就把程序寫完了,壹個小時後就把Basic裏的關鍵詞全忘了。

忽視基礎,盲目追趕時髦的技術;

最後,重點在題目上。大多數人都希望自己的東西馬上跑起來,變成錢。這個想法對於壹個進入專業領域的程序員或者項目經理來說是有道理的,IT技術進步太快了,不跟進就會失業。但對於初學者(尤其是時間充裕的大學生)來說,這種想法令人費解。壹個沒有進入行業競爭的初學者,最大的資本就是有足夠的時間靜下心來學習基礎的東西,學習為什麽而不是如何。時髦的技術往往很容易掌握,而且越來越容易掌握,這是商業利益的驅使,為了最大限度地降低軟件開發的成本。但這就是IT領域的現實。越容易掌握的,學的人就越多,被淘汰的速度也就越快。每次新技術出來,都有很多新手跟進。這些初學者因為缺乏必要的基礎,在跟進的過程中花費了大量的時間,等他學會了,這個技術很快就會被淘汰。基礎課程,如數據結構、操作系統原理等。,不能讓妳馬上意識到壹個linux(這就是很多人嘲笑理論課無用的原因),但是它們可以在學習新技術的時候,顯著降低妳學習曲線的斜率。甚至對於很多關鍵技術(如Win32 SDK程序設計、DDK編程)都是不可或缺的。

壹個活生生的例子就是我和我的壹個同學。大壹的時候,我找不到開始按鈕,他已經會寫壹些簡單的匯編器了。高二的時候我把所有的時間都花在學習匯編,計算機架構,數據結構,操作系統原理等等,而他開始學習HTML,VB,趕上了ASP的潮流。大三開始學習Windows操作系統原理和SDK編程。花了很長時間,然後我能用VC開發出像樣的應用程序。曾經因為同學的程序在運行,還在學習如何創建對話框而懊惱,直到畢業才發現自己的選擇有多正確。我與之談判的公司開出了超過他兩倍的薪水。這裏舉個不恰當的例子:假設學習VB編程需要4個月,學習基礎課和VC編程需要1年。所以如果先學VB再學後者,時間不會減少,還是1年。反過來,如果先學後者,再學VB,可能只需要1周就能學得非常熟練。

幾門重要的基礎課

如果妳是學生,或者妳有足夠的時間。建議妳認真掌握以下知識。我的建議是針對想在IT技術方面有所成就的初學者的。同時我也列了壹些書目,書店應該有。說實話,我看別人文章的時候最大的願望就是作者列個書單。

大學英語-別搞笑了。我強烈推薦這門課,因為沒有專業文獻閱讀是不可想象的。猴年經常出中譯本,現在很多出版社幹脆直接印電子文本。學習的方法是強迫自己閱讀原版教材。壹開始妳不會懂,但是用多了自然就熟練了。吃得苦,做得狠,絕對是任何行業都需要的品質。

計算機架構和匯編語言——關於架構的書到處都是,而且大同小異。不過有壹本很好的書,80x86匯編語言編程教程(清華大學出版社,黑色封面,楊繼穩著)。妳需要重點關註後386保護模式的編程。否則,當妳學習現代操作系統底層的東西時,妳會覺得自己在讀天書。

計算機操作系統原理——我們的開發總是在特定的操作系統上進行。如果沒有,只有壹種可能:妳自己在實現壹個操作系統。無論如何,操作系統原理是必讀的。這就好比我們給壹個芯片做外設的時候,必須要了解芯片的基本工作順序。這壹類的書很多,我還沒發現哪本書是出類拔萃的。只是覺得看完這幾本書有時間的話,應該去看看《Windows 2000內幕》(微軟出版社,我看的是E版,中文標題壹定是Windows 2000技術內幕)。另壹篇關於ZDNET的文章已經討論了學習它的必要性。

數據結構與算法——這門課程可以決定壹個人的編程水平,是核心課程。我的首選是清華版(朱,劉)。很多人喜歡買C++版本,但我覺得沒必要。C++的語法使得算法實現過程復雜很多,很多老師喜歡用模塊把算法變得更復雜。學習完C版後最好瀏覽壹下C++版的書。

軟件工程——這門課越往後越重要,雖然壹開始就像看哲學壹樣不知所雲。我的建議是讀實用軟件工程(黃,清華)。不要花太多時間去記住規章制度。如果妳不理解他們,就跳過去。每完成壹個軟件設計任務(不管是實習還是工作)都會回頭看看,回頭看看,每次都會有所收獲。

Windows程序設計——《北京大學出版社,Petzold》我建議任何企圖設計Windows程序的人,在學習VC之前,都要認真完成。而且,前面的Windows 2000裏面的書,在這本書的後面也更好看。在這本書裏,沒有C++,沒有GUI,沒有控件。壹些是如何使用原始C語言來完成Windows編程。學了之後妳會發現VC其實很好學。沒看完這本書千萬別學VC。妳最好不要碰它。我知道的很多名校甚至都用它做教材。很明顯它很重要。

我覺得以上課程是必須的(如果妳想成為Windows程序員的話)。

其他課程有這樣壹個簡單的選擇:如果妳是計算機專業的,請學好妳所有的專業基礎課。如果沒有,請參考計算機系的課程設置。如果妳發現自己讀不懂壹本書,請翻到書的末尾,看看它的參考文獻,找到它們並學習它們,然後回頭再看這本書。如果書名中有“原理”二字,壹定不要死記硬背細節。妳應該以每天至少50頁的速度掌握要領。盡可能在電腦上練習壹個理論或者算法。

妳也可以閱讀許多關於CSDN的書評。這些書評可以幫助妳決定讀什麽樣的書。

壹日三省關心自己

每天看太多書,容易迷路。每晚壹定要思考自己學到了什麽,還有哪些相關的東西需要掌握,自己最感興趣的是什麽,是否花了太長時間在壹本書上等等。同時妳也要多想想未來最有可能的應用,這樣妳才能引領技術潮流而不是趕技術潮流。同時,盡量利用妳現在掌握的技術和理論去做壹些新的東西。堅持這樣做可以讓妳真正成為壹個軟件“開發者”而不僅僅是壹個編碼員。

把大部分時間花在學習上。

這是給初學者的最後壹點建議。每周玩CS或者CS的時間盡量少,最好不玩。同時,如果妳的ASP技術已經可以賺錢,甚至有公司邀請妳去兼職,證明妳的天賦可以保證妳努力學習後可以獲得更好的收入,妳應該去做更復雜的事情。從長計議,適用於所有人。

轉動

  • 上一篇:電腦是什麽呀?
  • 下一篇:模怎麽求
  • copyright 2024編程學習大全網