天天看點

.NET簡談程式員修煉之道

茫茫大海中,我們尋覓着,尋覓着那讓我們激動不已的技術,程式員不是尋覓着女朋友,而是尋覓着能陪伴終身的技術,我們做為程式員,有時候真的為自己的職業感到可悲,沒時間陪家人、沒時間逛街、沒時間聊天等等,我們把那些時間都用在了學習上,技術的道理上沒有終點站,隻有一個個的裡程碑,今天的不學習,就注定明天被淘汰,其實今天我想要将自己的一些心理話說出來,讓我們程式員都能勇往直前,成為各個領域的技術專家,這樣才不會讓我們後悔當初所付出的寶貴時間;

在剛開始我們接觸計算機的時候,我們對軟體并不了解,作業系統、網絡等等概念都不是很清楚的情況下跨入了.NET隊伍,在微軟很人性化的軟體開發工具上我們進行軟體開發,但是又有多少人能清楚的了解計算機的工作原理,網路的工作原理,隻是自己騙自己罷了;有的人連.NETWinform和.NETAsp.net軟體模式都分不清,但是我不是在恥笑不會的人,我隻是感概,我們真的危險,我們對自己天天都接觸的東西都一無所知,想想如果沒有微軟的VisualStudio工具,我們就憑着基本的BCL能開發軟體嗎?不能,我很清楚我們不能,因為我們太依賴工具,太依賴工具為我們做好的操作順序按部就班,但是今天我們也不需要去太關注那些複雜的技術細節,但是我們最起碼能對自己的技術有個定位;我認真的總結了,.NET程式員如何做大局觀的思考,如何對計算機的方方面面有個大緻的了解;我将整個計算機領域抽象成一個倒立的金字塔:

1:

.NET簡談程式員修煉之道

<a href="http://www.cnblogs.com/wangiqngpei557/">[王清培版權所有,轉載請給出署名]</a>

我為什麼要畫成倒立的三角形呢,其實我是将整個技術領域抽象成一個倒立的技術堆積過程,在最下面是硬體層,也就是我們應用程式員所不熟悉的,很少接觸到的東西;系統層,就是我們的作業系統了,在作業系統裡面包羅萬象的技術應用;系統交接層,在這一層裡面,是我們的應用程式架構與作業系統進行對接的過程,如我們的.NET平台,.NET平台本身也是要依附于作業系統的;托管層,就是我們開發平台.NET,這這個層面上我們衣食無憂,我們開發的東西就是應用層的東西;其實我們.NET程式員還算是幸福的,相比之下C++是多麼的不容易,那些複雜的記憶體處理、圖形繪制、硬體加速,都需要自己去處理,而我們的.NET平台為我們做好了;這幅圖的意思很簡單,讓我們能看清楚自己處于那個位置;李世民曾經說過一句話大概意思是這樣的:人是需要鏡子才看能看清自己,但是這面鏡子必須是非常幹淨靓麗的;我們就利用這幅圖來看請自己的技術水準;

在計算機世界中,我們大概可以将它分為兩類技術,一種是縱向的PC作業系統技術、一種是橫向的NetWork網絡技術,上面這幅圖是說明了第一種技術,第一種技術是要我們盡量的向下走,去學習一些微軟底層的技術;我們來看第二種技術網絡技術:

2:

.NET簡談程式員修煉之道

我們學習作業系統的同時,更需要去關注一些網絡技術,我們長用.NET開發網絡系統,但是我們很少了解網絡的細節;

隻有具備縱向、橫向的技術我們才能從總體上了解計算機網絡系統的整個架構;我們最後拿.NET程式員做研究,這是本人的規劃圖:

3:

.NET簡談程式員修煉之道

我們作為應用層程式員,選擇微軟的.NET和資料庫作為必備武器,然後逐漸向下走,學習C、C++等之類的作業系統底層的技術,這樣當我們遇到應用層大風大浪的變化時,不至于我們那麼累;