[碎碎念] 程式開發領域由菜鳥到老鳥的成長歷程 (4) - 學生階段-早早覺悟,資訊產業是終身學習的產業。

資訊業的技術一向進步的很快,如果認為資訊業可以一招過江湖的話,那就大錯特錯了,也許你現在學的東西,過了兩三年後可能就不能用了,因為技術不是升級就是被淘汰了...

筆者很喜歡看駭客任務 (The Matrix) 系列的電影,其中第二集中,尼歐在和祭師見面時,祭師在形容電腦程式和電腦主機的關係時,曾有這麼一段話:"為什麼電腦主機會清理出問題的電腦程式?也許是因為它壞了,也可能是因為有更好的程式取代它,這種事經常發生。"。

這句話用在形容學技術上,可以這樣講:"為什麼資訊人總是在學習新技術?也許是因為技術老舊了,也可能是因為有更好的技術取代它,這種事經常發生"。

我們以微軟技術為例子好了,以前 Windows Forms 是使用 .NET Framework 開發 Windows 應用程式的首選,然而在 WPF (Windows Presentation Foundation) 推出後,Windows Forms 就被微軟冷凍起來,WPF 則因為它的孿生子弟 Silverlight 而逐漸的躍居檯面,Windows Forms 在此時就更尷尬了,未來 Windows 8 的主流開發工具將會是 WPF, Silverlight 和 HTML5,那原本用 Windows Forms 很熟練的開發人員怎麼辦?是學新的 WPF 呢,還是死抱著 Windows Forms 不放?我想大多數的開發人員都知道哪條路比較正確。再舉個例子,ASP.NET Web Forms 從一開始推出時就標榜 Event-Driven Web Form,以 Windows Forms Like 的開發環境,至今還是多數 ASP.NET 開發人員選用的模型,但是 Web Form 的笨重在發展大型應用時反而會有綁手綁腳的問題,尤其是在 UI 客製程度很大的專案,雖然它有 User Control,但什麼都要透過 event model 來改變 UI 的限制反而成了它最大的缺點,寫個小介面都要處理 Web Form 那肥大的 event loops,對一些希望靈活的開發人員來說,Web Form 反而是很大的包袱,所以 ASP.NET MVC 才在市場的要求下出現,而未來微軟會將重點放在 MVC 的改良,看 MVC 3.0 的 Razor Render 和 WebMatrix 將重心放到 WebPages (Razor Engine) 就可以看的出來,Web Form 雖然還會繼續存活,然而很多新功能都會先在 MVC 上開發出來才會慢慢移植到 Web Form,你覺得如果要搶佔先機的話,是要學 MVC 呢,還是死守在 Web Forms 呢?

答案很明顯。

最近行動開發非常火紅,以 Google 的 Android 為例,筆者有時真的覺得寫 Android 的開發人員很可憐,因為一年可以變好幾個版本,現在已經有 2.0, 2.1, 2.2, 2.3, 3.0 等不同的版本,而且同一個版本可能還有不同的 Kernel,市面上的書真的是雨後春筍,開發人員也幾乎要無所適從了,再加上不同版本之間可能還不相容...但他們也只能追版和不斷的學習,因為這是他們的工作 (或興趣)。

只要是資訊領域,沒有一招半式就可闖盪職場數十載的,畢竟資訊科技不是會計,數學或物理這種學門,它是會不斷向前衝的,技術也是會持續演進,要想當個資訊人,就要有活到老學到老的覺悟,最起碼到退休為止,對技術的追尋是不能停下來的,就算是只有求溫飽的一般人,也會因為各種因素 (ex: 老闆說的) 被迫要學習新東西,如果沒有心理準備的話,做起來是真的挺累人,所以不妨就開放一點,學習新技術對自己也是一種成長,不要過於排斥學習新東西,因為如果此時不學,以後可能就會落後人家不知多少年了。