程序員應調(diào)整心態(tài) 正確應對所學技術的失寵
記得前些時候,老趙還在的時候,有一股F#學習的熱潮,那個時候,如果你不知道什么是函數(shù)式編程,你都不好意思在園子里面說話。一時間,F(xiàn)#變成了一個有未來的東西,長篇累牘的文章占據(jù)著網(wǎng)站的首頁??墒乾F(xiàn)在事實證明了,這又是一口井。SL雖然不至于落寞到F#的份上,不過,熱度明顯已經(jīng)褪去很多了,SL的應用還是僅限于內(nèi)部網(wǎng)。自從MS就自家的skyDriver的SL廢掉之后,各種謠言滿天飛了【如果大家對SL前途有不同看法,請發(fā)表意見,不過此文不是針對某語言或技術的,可能在SL的前景上的觀點不是實事及實事的全部,僅是個人意見】。
誠然,每個人的時間都是有限的,我們學習這門語言,這項技術,不是喜歡這項技術,只是想靠他賺錢罷了。這個技術上投入了大量的時間學習,做了大量的練習,等到技術成熟的時候,可以出去賺錢的時候,卻發(fā)現(xiàn)這項技術已是明日黃花了。這種失落感,可以理解。但是,真的到了這個地步,我們應該做些什么呢?或者說,我們應該抱著怎么樣的心態(tài)去學習一門新的東西呢?本文想對于這個問題,進行一些闡述和討論。
每當MS出一個新技術,MS就會使用手里的資源大勢宣傳,一俊遮百丑,配合水軍們的功力,立刻讓大家相信,這個東西代表著未來的趨勢。記住,微軟可以同時并行多個項目,只要一個成功就可以了,你不行,你的時間有限,所以,你必須有自己的主見來決定你,學習或者不學習這個東西。對于園子里的發(fā)言,大都有一種可怕的傾向性,我學的東西,我也要大家學習,我是MS的粉絲,我必須強迫你接受,我學的東西最好,你也應該學習。Java之流的東西,屬于異教徒的奇技淫巧罷了,不入流。這點有點像17世紀的傳道士一樣。正確的做法是,帶著中立的心態(tài)去看這門語言:
1.這門語言適合我嗎?和我以前學過的東西有多少交集,有多少相識度,學習成本高不高。微軟的一個問題就是有時候不顧大家的學習成本。WPF和傳統(tǒng)的Winform,Webform改變太多了。原來Winform上的很多東西和WPF完全格格不入。一下子就有一種新概念膨脹的感覺。如果你是一張白紙,你當然可以學習WPF,如果你是一個時間充裕的人,你也可以學習WPF,如果你是一個喜歡嘗鮮的人,你也可以學習WPF。但是,WPF只是一個企業(yè)的標準,不是IEEE的標準,如果你的以前的知識體系已經(jīng)很成熟了,并且不想將命運和一個企業(yè)綁在一起,還是淺嘗即止比較好。
2.將新技術和現(xiàn)有的技術進行比較,看看有什么學習的必要嗎?
新技術,如果它可以做一些舊技術無法完成的事情,這個才是新技術的價值。F#有什么別人不能做的事情嗎?SL相對于Flash來說,有什么過人之處嗎?我不知道這兩個問題的答案,我不發(fā)表意見。但是,你在學習新的東西之前,應該問問自己這樣的問題。新的東西是企業(yè)競爭的產(chǎn)物還是技術趨勢的結晶?C#,其實就是MS對抗Java的一個產(chǎn)品罷了,不用將其放在圣經(jīng)的位置上,每天頂禮膜拜。
3.我能接受這門技術的失敗嗎?我學習新技術的目標是什么。
學習新技術,不能急功近利。一旦技術失寵了,覺得時間浪費了。
學習新技術,其實就是一種探險,哇。。。原來編程可以這么有趣,原來可以這樣操作數(shù)據(jù)。
例如我們學習了匯編之后,知道了循環(huán)語句其實就是一個比較和一個跳轉語句,即使你不使用匯編,你也收獲到了知識。
學習新技術,就是要學習新的思想,能不能賺錢,應該放在第二。你抱著這種心態(tài)的話,即使這門技術落寞了,你也不會失望,你的目標是學習新思想,學到新思想后,你的目標就達成了。當然能靠這門技術賺個三瓜兩棗最好了。
不管未來F#,SL能不能有屬于他們自己的榮光,學過這兩門語言技術的人,如果能夠開闊思路,擴展視野,就不要患得患失了。與其在論壇上為了某技術的未來唇槍舌戰(zhàn),不如干點實事。某技術的未來,不是我們這些螞蟻說了算的,大鱷有自己的打算,隨時可以犧牲小卒子的。
這里無意卷入 Sliverlight 等技術未來的話題,我沒有資格說這個話題。只是想說說,如果一個技術落寞的時候,我們應該怎么辦。
- Do while(time++){
- love++
- }
最新版源代碼請在官網(wǎng)下載
我記錄網(wǎng)址 http://www.wojilu.com/
我記錄百度百科:http://baike.baidu.com/view/5898394.htm