送給初學.NET兄弟們的一些話(修正版)
很高興,你們選擇了.net方向,我要告訴你們的是,你們沒有選錯,在Win7時代即將到來之時,你們選擇的技術已經是win7操作系統的內核,也就是說,在Win7里,你的應用程序是直接訪問操作系統,這比Java就快了許多,因為Java和.net都是運行在虛擬機上的,可是Win7的內核就是.net 這無疑就讓.net比Java在中介上少了一層CLR(公共語言運行時),這個CLR已經在Win7操作系統的內部,你說不爽嗎?
很久以前我聽說了這樣一句話, .net只能在XP下運行,而Java一次編譯到處運行,錯了.net可以說也是跨平臺的,只要有.net framework 他就可以運行,只不過微軟是商業公司,他不想給一些競爭對上提供運行.net framework的權利,如果你有興趣,你完全可以讓.net framework運行在各個設備上,這樣你的.net就可以跨平臺了。在這里我要強調不是擠兌Java,java 有自己的獨到之處,如果你要說.net和Java哪個好,我只告訴你一句話, 你爸爸好還是你媽媽好? 能回答這個問題你就知道哪個好了。
也許你在初學.net(以C#為語言)的時候會遇到下面的問題:
1. 未將對象引用到實例(這是一類問題的例子):
一個讓人發指的問題,不要驚慌,這是必然的,此問題的出現是因為你沒有new他,斷點調試好好找去吧,如果你要問我根本原因是什么?<你必須知道的.net> 看上3遍就知道了。這個是現象問題,只要你多寫代碼就一定能夠解決,欲速則不達,要避免這類問題的話,寫上三四個月代碼就不會再發生了。
2. 設計模式
經常聽到別人說功能實現不是牛逼,關鍵是你代碼的復用性,簡潔性,如果你是剛開始學,那我就不要勸你考慮這方面的問題了,建議你編寫代碼一年以后再考慮,過早的考慮只會讓你更加頭疼,學越暈,導致心肌梗塞,腦出血。當然是開個玩笑。
3. 性能問題
也許你寫代碼沒到兩個月就考慮這個問題了,現象是好的,但條件并不是好的,你此時知道的代碼不過區區幾行而已,考慮此問題過早了吧,不要整天拿著這個問題去朋友面炫耀了,因為你意識里的性能只有速度,試問你朋友寫的代碼因為沒有考慮性能而導致程序數分鐘以后才運行出來了嗎?
4. 面對問題
很高興你能夠在遇到問題的時候就來到CSDN提問,動機不錯,可是你要記住提問的時候告訴回答者你是什么水平,是只能源碼才能解決問題的水平還是思路就能解決問題的程序員,不然,下面的人說的口干舌燥你也沒有明白。浪費服務器資源不說,浪費了好多高手們的時間。
5. 面對作業
不管你以前有沒有把你的作業拿到CSDN來問, 建議你以后都不要問了,既然你能得到作業,那就說明你是幸福的,因為你旁邊還有跟你一樣得到作業的人,你完全可以和你的同學一起討論,因為你們的討論比在CSDN的討論更有意義,我們程序員是團隊,不是獨狼, 一個和同學都不能相處在一起的人是不配當程序員的。
6. 多動手,多實踐
實踐證實理論,拿到一本數,看理論不懂?沒關系,把他的源碼巧一遍,調試一下,再去看理論,你就明白了,知識是線性排列的,有了第一個才有第二個,想要弄懂第二個第一個必須搞明白,不要跳躍式發展,腳踏實地,一步一步的走。
7. 看書不要盲目,要有目的
在看課外數的時候,翻開目錄看一看,在目錄里你能找到你可以接受的東西,當你明白了這些,再去系統的看,不要去看書本自帶光盤的源碼,你只要按著大師的步驟往下走,就一定可以看到效果,如果你看了源碼,你就少了一次思考的機會,甚至會丟N個解決問題的經驗。
8. 天下武功出少林
傳說易筋經可以修煉所有的武功,可是易筋經是怎么練成的,蹲馬步。哈哈,想要修煉更高的武功,基礎最重要,
《數據結構》《道不遠人控件開發》《你必須知道的.net》《悟透JavaScript》是你的首選,因為他們告訴你的不是工具,而是如何去高效的創造工具。
9. 新技術
不要太新了,目前中國用VS2008的都不多,所以你不可能被淘汰,你所能做的就是掌握基礎,面對未來。
10. 有問題, 找自己
問題是最好的老師,不要輕易的把這個老師交給別人哦。
加油吧,數學,英語,永遠是你的必修課,程序無非就是對數據進行增刪改查,至于怎么樣去操作,就看誰操作的好了,比如說微軟,谷歌,他們創造的技術就是高效的管理數據,傳輸數據。程序的巔峰只會剩下數學。你該如何去選擇呢?