電腦專業的大學生課外該如何學習<轉自左飛的筆記>

來源:互聯網
上載者:User

1、主線

  作為“主線學習”。我建議這樣進行:首先看這兩本書:《Windows 程式設計》(第五版),作者Charles Petzold;《Windows 核心編程》(第四版) ,作者Jeffrey Richter;毫無疑問,此兩本書必看!否則你永遠也不可能成為一個專業的、進階的程式員(我指Windows程式員)。另,看《Windows 核心編程》以前需要有“作業系統原理”的基礎。同時,如果學的是C++(在目前,C++在中國仍然是使用最廣泛的程式設計語言),只看看你們的教材是肯定不夠的,除了上面說的《The C++ Programming Language》等書(挑一本看就夠了)以外,還應該看看《Effective C++ 中文版》,作者Scott Meyers。接下來,我建議你不要去學MFC了,它已經過時了,而且確實不太好用,我回想起當年學MFC的情景,總是覺得付出和得到不成正比。這時候可以去學“.NET”編程了,先學一下C#的文法(Tom Archer的《C#技術內幕》還算不錯),你會發現它極容易,可以飛速的看完,因為你已經有了很好的C++基礎了。然後再找一本比較全面介紹“.NET”的書看起,現在的話,我覺得《.NET 程式設計技術內幕》是個不錯的選擇,作者Jeff Prosise。我這裡不是說學“.NET”就看這兩本書就OK了,但是作為一個“學生”,能看到這裡就不錯了(當然你要是覺得還不夠的話可以去看看Jeffrey Richter的《Applied Microsoft.NET Framework Programming》)。還有,在學習各種編程技術期間編一些自己的小程式是必不可少的,不然的話,你會學什麼忘什麼。最後,再有時間的話,學一學“設計模式”(它其實很重要的,而且慢慢的你會覺得它越來越重要),書蠻多,《設計模式》值得推薦(作者Erich Gramma等),它是“設計模式”類書籍的宗師,很不錯的書,“設計模式”也是要一些實踐經驗作鋪墊的,因此你可能不能完全的理解它。

2、支線

  作為支線,也就是說我覺得它們相對次要些。並且學習它們可以不分先後次序,但是,我還是建議先看完上面說的前三本書(《Windows 程式設計》、《Windows 核心編程》、《Effective C++ 中文版》)以後再來學下面的東西。

  “Java”。。把“Java”作為支線一定會引起很多人的不滿,或者說是憤慨,當然,你也可以把它作為主線來學,用來替代上面說的“.NET”。可是根據我自己的體會,“.NET”擁有更多的優勢,如果你不同意我的觀點,當然可以去學“Java”,沒問題。但是作為一個“初學者”,我還是建議你兩樣都學一下,這樣自己才能有比較,才能為自己的將來選擇一條更適合自己的“技術路線”。另外,時間還是多的(主線中才提到了六本書),而且,我這裡說的“學Java”只建議你看一本書:《Thinking in Java》,這本書可以說是入門的絕佳選擇,至於以後怎麼繼續學習“Java”,可以去看看蔡學庸在CSDN上的專欄文章,裡面講得很詳細了。
 
  “網路編程”。。這個東西我想很多人都是比較嚮往的。我建議如果想做到對網路編程“比較精通”的話,應該去看看《Windows 網路編程技術》(第二版),作者Anthony Jones。這本書和上面講的《Windows 程式設計》屬於同一個技術層次,都是用“Windows API”直接編程,學這類東西的好處是能使你不僅“知其然”而且“知其所以然”。但是,如果立志要學“Java”的,也可以跳過這本書,直接看《Java Network Programming》,是O'Reilly的書,作者我忘記了。至於“.NET”方面,我還沒發現專門講網路編程講得特別好的書,自己去找找吧。(其實一般的“.NET”書籍中已經有大量關於網路編程的內容了)

  “COM”。。“以前的學習方法”是先看《深度探索C++ 物件模型》,作者Stanley B.Lippman;再看《COM 本質論》(作者Don Box)的前面兩章,然後看《COM 原理與應用》(作者潘愛民),再回過頭來看《COM 本質論》的後面部分。《COM 本質論》的前面兩章講得極好,它用最能讓人理解的方式講述了“什麼是COM”,但這本書的後面部分比較晦澀,如果沒有一點實際的“COM程式編寫經驗”,就很難理解了,所以我提到這裡要插進來看一看潘愛民的《COM 原理與應用》。但是,這裡有一個問題,《COM 原理與應用》裡的應用部分使用的是MFC和ATL(抱歉我又提到了這些過時的東西,我只是對它們太熟悉了),我前面曾建議大家不要去學MFC了,於是產生了矛盾,請恕我無知,在當前的情況下,我不太能肯定要怎麼學習“COM”才是最有效,這裡我確實不能給大家“更新的方法”了。但是現在隨著“.NET”的推進,“COM”的生存空間似乎是越來越小了,因此“到底要把COM學到什麼程度”也幾乎成了“到時候看情況再說”的問題了。但是,我覺得無論如何瞭解一下“COM的基本思想”還是能帶來莫大的好處,它太經典了!也就是我上面說的《COM 本質論》的前面兩章。

  “DDK”。。所謂“DDK”就是“裝置驅動程式”,這屬於一個相對冷僻的方面,但事實是“正因為它冷僻,所以這方面的技術人員的收入還是不錯的”,但是“DDK”的知識對你學習別的很多東西(比如“.NET”、“Java”)都不會帶來任何的協助,它比較獨立。所以我的建議是“在你還沒有能力確定以後自己的專攻方向時,不要去學它”,因為它實在也不太好學。我對它只是略知一二,所以也只能說到這裡就作罷了。不過可以給你推薦一本書:《Programming Microsoft Windows Driver Model》,(作者Walter Oney)。

  好了好了,再下面就絕對要超出“初學者”的範疇了。其實學到這裡,再加上你已經積累了一定的實際經驗了,那下面再要學些什麼,路要怎麼走,就一定會有自己獨立的想法了。我就不再廢話了。

個人認為此文的基本思想比較可取,另外其中推薦的書籍也的確是經典之作。不過人各有志,大家各取所需,兼聽則明吧。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.