初學編程的一些好建議
來源:程序員人生 發布時間:2014-04-17 05:54:13 閱讀次數:2529次
我始終認為,對一個初學者來說,IT界的技術風潮是不可以追趕的,而且也沒有能力去追趕。我時常看 見自己的DDMM們把課本扔了,去賣些價格不菲的諸如C#, VB.Net 這樣的大部頭,這讓我感到非常痛心。
而許多搞不清指針是咋回事的BBS站友眉飛色舞的討論C#里面可以不用指針等等則讓我覺得好笑。C++就象當年的ASP一樣,“忽如一夜春風來,千樹萬樹梨花開”,結果許多學校的信息學院成了“Web 學院”。
96,97級的不少大學生都去做Web了。當然我沒有任何歧視某一行業的意識。我只是覺得如 果他們把追趕這些時髦技術的時間多花一點在基礎的課程上應該是可以走得更遠的。
幾個誤區
初學者對C++風潮的追趕其實也只是學習過程中經常遇到的幾個誤區之一。我將用一些實際的例子來說明這 些現象,你可以按部就班的看看自己是不是屬于其中的一種或者幾種:
認為計算機技術等于編程技術:
有些人即使沒有這個想法,在潛意識中也有這樣的沖動。讓我奇怪的是,許多信息學院的學生也有這樣的念頭。認為計算機專業就是編程專業,與編程無關的,或者不太相關的課程他統統都不管,極端的學生只要書上沒帶“編程”兩個字他就不看。
其實編程只是計算機技術應用過程中一種復雜性最低的勞動,這就是為什么IT業最底層的人是程序員( CODER)。計算機技術包括了多媒體,計算機網絡,人工智能,模式識別,管理信息系統等等這些方面。
編程工作只是在這些具體技術在理論研究或者工程實踐的過程中表達算法的過程。編程的人不一定對計算機技術的了解就一定很高。而一個有趣的現象是,不少大師級的計算機技術研究者是不懂編程的。網上的炒作和現實中良好的工作待遇把編程這種勞動神秘化了。其實每一個程序員心里都明白,自己這些東西,學的時候并不比其它專業難,所以自然也不會高檔到哪里去。
咬文嚼字的孔乙己作風:
我見過一本女生的《計算機網絡原理》教材,這個女生象小學生一樣在書上劃滿了橫杠杠,筆記做得滿滿的,打印出來一定比教材還厚。我不明白的是,象計算機網絡原理這樣的課程有必要做筆記?我們的應試教育的確害了不少學生,在上《原理》這一類課程的時候許多學生象學《馬列原理》一樣逐字背誦記憶。
這乃是我見過的最愚蠢的行為。所謂《原理》,即是需要掌握它為什么這樣做,學習why,而不是how(怎樣做)。極端認真的學生背下以太網的網線最大長度,數據幀的長度,每個字段的意義,IP報頭的格式等等,但是忘了路由的原則,忘了TCP/IP協議設計的宗旨。總之許多人花了大量的時間把書背得滾瓜爛熟卻等于什么也沒學。
在學習編程的時候這些學生也是這樣,他們確切的記得C++語法的各個細節。看完了C++教程后看《Thinking in C++》(確實是好書),《Inside C++》,《C++ reference》,this C++,thatC++……,然后是網上各種各樣的關于C++語法的奇聞逸事,然后發現自己又忘了C++的一些語法,最后回頭繼續惡補…。有個師弟就跟我說:“C++ 太難了,學了這里忘了那里,學了繼承忘了模板。”我的回答道:“你不去學就容易了”。我并沒有教壞他,只是告訴他,死摳C++的語法就和孔已己炫耀茴香豆的茴字有幾種寫法一樣毫無意義。你根本不需要對的C++語法太關心,動手編程就是了,有不記得的地方一查MSDN就立馬搞定。我有個結論就是,實際的開發過程中對程序語法的了解是最微不足道的知識。這是為什么我在為同學用Basic(我以前從沒有學過它)寫一個小程序的時候,只花了半個小時看了看語法,然后再用半個小時完成了程序,而一個小時后我又完全忘記了Basic 的所有關鍵字。
不顧基礎,盲目追趕時髦技術:
生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈