最近我收到了一位程式設計師的郵件,他是一個老程式設計師,但由於一些不可控的原因,退出了程式設計界一段時間,但現在他想重操舊業。
他問,用他郵件中的原話:
如果必須“重新”學習,在我的新的2014年,哪些技術,程式語言,模式和平臺是我應該掌握的,能讓我跟上最新技術趨勢的。形勢讓我恐懼。我感覺我已經落伍,成為圈外人。我可以學任何東西,而且能很快。
我想,我們都會對此深有同感。在以前的一篇《I’m a phony》的文章裡我曾經說過這個問題。技術更新的太快,想在所有技術上都成為“專家”實在太難。最終,我們都是半瓶子醋。
然而,對於他的問題,什麼樣的技術我應該去學?
這個問題經常的會被人提及。我一般會這樣說,學習一種能讓你開發大型系統的語言,還要學JavaScript。對我來說,這種語言是C#和JavaScript。而對於其他人,這種“系統”語言可能是Erlang,Groovy,Ruby,Java,或Scala。這些語言對我用處不大。學這些語言的目標就是要能開發Web應用,當然還有其他應用。
學一種自己喜歡的語言
學一種有社群支援的語言,這也是開發一個成功系統的重要部分。學一種能夠讓你開發出你希望的那種系統的語言。對我來說,我選擇C#,因為我可以用它寫出Web應用, Windows應用, Mac應用, iPhone應用, Windows手機應用, 智慧手錶應用, 以及微型嵌入式應用,但總的來說,是因為我喜歡C#。
有很多的程式語言都有很寬廣的應用範圍和豐富的表達能力。Python就是一個,Java也是,而JavaScript和node甚至能用來控制機器人。學習一種有個性的、有廣度的語言,笨笨的學,一步一個腳印。多讀程式碼,多讀書。學一種適合你的大腦、能幫助你學會如何思考的語言,思考時學著抽象的思考。
新語言要邊學邊寫部落格。寫出你的發現,什麼好用,什麼不好用。寫出來,即使沒有一個人來欣賞;你會發現,會有人來讀的。加入你的新語言的社群,參與使用者組討論。記住要虛心,你的程式碼不是你。
看好WEB
如今有大量關於App Store的故事。每個人都在為應用商店寫應用,很明顯他們是掙到錢了的。但今天的應用商店問題多多。更新頻繁,甚至是自動的。而更新又更新不成功,還需要重灌。這麼頻繁的更新,沒人想過如何智慧的增量更新。這樣下去,應用商店很可能變成一個雜草叢生的花園。
然而,Web是大勢所趨。在網路中立問題上我們還需要努力,還有像Facebook這樣有圍牆的花園,我們的標準化組織受阻,每隔幾年都會出現幾種新的身份認證方式,但Web最終是贏家。Web是大勢所趨,是最終的勝利者。這就是為什麼我建議你學習JavaScript。(學習HTML5和CSS3,學習使用和建立JSON服務)。JavaScript是一個虛擬機器,我們每個人的機器上都有,JavaScript是Web的語言。它無處不在,這就是你為什麼要學習它的原因。
要能夠建立網站,Web應用,多樣連線的應用和系統。要學會一種語言,用它開發應用,放在應用商店裡,裝在億萬臺相互連線的裝置裡。
這就是我對2014年裡要重新學習程式設計的人的建議。