教材,教材,國內的教材你為何如此不堪入目?碼農,碼農,你到底該如何脫離碼農?


國內、國外教材對比

國內教材:

  1、致命缺陷:只有入門,沒有進階,間接導致中國碼農數量持續增長;

  2、入門書的錯誤會給新手帶來不良編碼習慣,中國C語言之父的void main()就是一個典型例子;

  3、許多大學老師出書都是學生寫的,錯誤連篇;

    PS:對於這一點,我認為這是老師的問題。對於學生來說寫書是一種鍛煉、一種學習,但就像考試,不是每個人每次都考100分,出錯是正常的,所以寫書前后自然需要老師認真指導、把關,這樣不僅可以提高書的質量,學生也可以學到更多。但是中國的國情,最后老師為了數量不顧質量,導致市面上充斥各種問題書籍。

  4、書上舉例1+1=2,到了實際中要解決

  4、有一些國外比較好的書,翻譯過來往往變了味道,比如《C++變成死相》,不過也不乏少部分翻譯的不錯的書,比如段菲翻譯的DX9那本龍書;

  5、入門書介紹的不夠全面,使用的例子過於教學化。當然,對於這一點到底好不好,不太好說,畢竟如果內容太多,很多新手會跟不上。

國外教材:

  1、厚;

  2、老外態度認真,內容沒有弄虛作假,而且作者往往有實際開發或研發經驗,與國內大學老師寫書充數量形成鮮明對比;

  3、入門級的書會介紹的比較全面,完整的說明所有的用法,或者常用的方案,因而書比較厚,看的時候最大的感受是很多以后可能出現的問題,書上都提到了,與上述的國內教材第4點形成鮮明對比;

  4、帶“導論”倆字的書,格外犀利,能夠真正讓別人理解其原理,很多都是N年研發經驗的大神寫的,用於入門之后的提高,往往看了以后受益匪淺;

  

  當然,不排除確實有一些比較好的國內的教材,不過真的太少太少了。另外,雖然譚**的書給我留下了不良編程習慣,書的質量也不如國外的書,但是對於大多數國內學生入門來說,也許是個不錯的選擇。國外入門書未必適合我們,畢竟國內學生水平層次不齊。國外在中學階段就接觸一些我們在大學才接觸的東西,等他們上了大學,自然就可以更深入的學習;反觀中國學生,中學階段辛苦備戰高考,大學階段才能入門,或者干脆什么都沒學四年就過去了。

  國內教材只有入門書,幾乎沒有能和國外帶“導論”相提並論的書,這也間接導致了一年又一年計算機畢業生淪落為碼農。學的雜而不精,只能學習各種表層技術,這TM叫搞技術?這是當工人做重復性勞動!30之前不轉管理自然沒前途!但如果能夠深入研究技術,而不是不停的更新自己的入門級技術的數量,相信發展前景應該還是不錯的。

  國外教材的“導論”很有意思,乍一看,導論,很簡單吧,其實正好相反,介紹的相當深入。我曾經納悶,為毛這種程度的叫導論呢?后來仔細想想,不論任何領域,都有相關廣闊的知識,而一本書的覆蓋面往往是有限的,從這個角度來說,導論知識介紹了這個領域的一小部分知識,所以叫導論;但是根據有名的2 8定律,20%的內容可以起到80%的作用,所以雖然只是介紹一小部分內容,卻可以對讀者帶來相當大的幫助。

什么樣的書是好書?

基礎入門:

  這個真心糾結,以C++為例,C++ Primer確實不錯,可是估計新手不行,今天給導師帶C++的實驗課,剛剛開始講類,大家亂的一團糟,還是實驗班的……所以估計搞C++ Primer這種教材的話大家應該更受不了了;但是如果用國內的教材吧……又會帶來很多不良影響,究其根源,個人認為是中、小學教育的問題,如果之前有一些基礎,那么可以直接上手C++ Primer了。

專業入門:

  比較好的專業入門書,很明顯是國外的教材,比如被稱為龍書的《DirectX 9.0 3D游戲開發編程基礎》,這是少有的原書和翻譯都相當不錯的一本三維圖形學入門書;Head First系列的書,想必大家有看過的,很少會說看不懂吧。既然是入門書,當然不能太難,但是必須要有比較形象的例子將內容闡述清楚,而且要盡可能的控制深度,避免作者看不懂。

  這種類型的書有個共同的特點,那就是看着簡單,不枯燥,同時看完以后又能夠對某一領域有個整體的了解,雖然不是很深入

專業進階:
  在圖形方面讓我感受頗深的是Real-Time Rendering Third Edition,它引用了1400多篇參考文獻,將實時渲染的主流技術從算法的層面上進行了非常深入的剖析,讓讀者看完以后能夠對以有的成熟技術深入了解,建立起一個完整的知識體系架構。這種書需要作者真正是搞這方面的研究,並且研究的相當深入,否則不可能寫出這么經典的書。相信這一層次的書在大體性質上應該也是類似, 能夠讓讀者全面、深入的了解某一領域的知識。這個時候,書中的內容正確、全面以及深度就相當重要了,而不需要考慮是不是對讀者來說太難了。如果讀者覺得太難,可以去看一些更基礎的書。
  個人認為,這部分的書對於碼農相當重要,如果沒有這種層次的書,就意味着要不停學習各種表層技術,學習的內容是不會積累的,發展前景堪憂;而如果往這方面下功夫了,之前學習對於之后學習的內容是有積累的,隨着時間的推移,越學越深,也就不用擔心年輕人來搶飯碗了。

為什么國內的書就是寫不好

  1、中國人有急功近利的特點,總是希望短、平、快的出成果,質量不高是正常的;

  2、作者水平問題,在大學扯淡扯幾十年的老師和在MS或者Google干過N年的老外相比,當然是心有余而力不足了;

  3、還是作者水平問題,在公司里有實際開發經驗的老鳥,都比較忙,很少有時間寫書;在大學里的老師,常常是沒有實際開發經驗,自然寫出來的東西就會讓人看着覺得瞎扯淡了。

如何能將書寫好

  1、作者的自身水平有待提高,寫書是一個輸出的過程,如果腦子沒貨,那只能扯淡;

  2、對於寫入門級的書,需要實際開發經驗;對於寫Real-Time Rendering Third Edition或者Game Engine Architecture這種深入一些的書,需要作者有實際的研發經驗;

  3、套話、炒概念、完全正確的廢話少來點。

碼農如何提高自己

  不少碼農忙於加班,最后陷入死循環(這個帖子看到):加班 -> 沒空學習 -> 老是寫同等水平代碼 -> 無法提升代碼質量 -> 老是出BUG -> 老是需要修改 -> 加班 ->……要想破除這個死循環,關鍵在於學習!當然,也可以30歲之前轉管理,本文主要針對技術路線。學習主要有兩個方面:1、看技術書籍;2、提高英語水平。

  對於第一點,我個人比較推薦朝着某一技術方向深入研究,而不是不停的學一些表層技術。如果不停的追那些新出來的表層技術,那30歲以后真TM干不過那幫剛畢業的小屁孩了……當然,這只是我個人的看法,不喜勿噴。

  第二點其實是配合第一點的,因為一旦英語成為短板,那么一旦深入學習的過程中遇到沒有中文資料了,那么就會影響學習,這是不能容忍的。其實英語沒有想象中的那么難,每天抽一點時間學一學,從長期來看會有回報的,這里向大家推薦一個英語學習軟件:Aboboo,完全免費,還不帶廣告。

The End


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM