星期一, 四月 3rd, 2006 @ 17:05 · 由 Samuel Chen
分類: Career|Motivate, Articles
本文April 03, 2006發於 SamuelChen.net
軟體人現在該關注什嗎?企業需要什麼樣的軟體人?
目前的軟體開發趨勢是語言簡單化、趨同化、指令碼化。實際上大家應該能看到一個這樣的現象,那就是從C/C++到java/.net再到Script,軟體開發的技術熱點有著逐漸一個越來越簡單、越來越重視功能實現的趨勢。
餛飩時代,電腦遠未普及,多數還是採用terminal的方式,主要是以shell為主,C/C+等各種語言兼而有之。個人電腦則是以apple為代表,其開發語言主要以機器語言、assembly和各種basic為主。
個人電腦普及早期,比較有代表性的cobal/fortran專註於個別領域(金融和科學計算),smalltalk是oo的一個嘗試一個學術派的語言,那麼這一時代的C/C++則是同時注重於運行效率與開發效率,和機器平台底層又有著緊密聯絡,從而在案頭為王的時代無往不利大紅大紫;當然少不了優雅的被C/C++壓制的Pascal。
WWW風起雲湧,個人電腦普及後期,這一時期的代表語言/技術就是com/vb/java/.net,脫離了平台(當然本身即是平台或者固定於平台),專註於快速實現,偏重於案頭,而又向Web發展,減低了對機器/系統的以來,但又需要自己掌控機器的相當一部份;而指令碼類的,由於unix的影響自始自終存在,但到這個時候基於web才逐漸有了比較大的影響。
目前,所謂的web2.0的時代,也就是基於web的分工、合作、溝通時代,更注重的是軟體功能的創新和實現,如何更快更高效的建立起系統是主要目標,同時所注重的是運行效率和網路響應效率,而如何增加使用者美好的體驗則是核心問題。這一時期的代表語言分為php/python/asp (c#/vb.net)/java等server端指令碼語言/技術和javascript/flash/servlet/activex(早期就有)等client端語言/技術。
java由於其自身的運行、開發效率問題,而主要存在於企業 web應用中;而.net單機開發已經完全比不上其針對web的開發和加強;另外由於價格上的優勢,LAMP(Linux+Apache+Mysql+ php/perl/python)這完全免費的體系則脫穎而出,從而造就就了server端指令碼語言的輝煌。
javascript作為用戶端比較輕便的技術,加上近來紅透半邊天的ajax技術,基本上不存在敵手,flash/java servelet/activex 由於其笨重和需要安裝,則逐漸減少了應用範圍,只在少數地方出現。
那麼,我們可以看到,軟體開發技術的發展是由軟體應用的發展所帶來的。由單機到網路,再到網路協作,一步一步有資訊孤島走向真正的地球村。
在這個時代,Samuel 覺得現在更應該關注的是script類語言(包括php/c#/python/perl/js…),soa,rss,tag … 這類的技術再加上framework。更多的應該關注於應用的創新,使用者體驗的最佳化,溝通協作的加強。
而在未來的時期,Samuel 推薦關注的領域是從web協同、資訊共用而逐漸發展、明晰的,語義分析、資訊識別、視頻音頻以及結合新一代的搜尋引擎 這樣一系列的技術。
當然,術業有專攻,不同的領域注重的還是有區別的,不可能要搞嵌入的也關注這些的,Samuel 在這裡關注的是企業/民用、Web/單機領域。
最後,Samuel 想說的是,無論是個人還是企業,更看重的仍然應該是人的思維能力,創新能力,分析解決問題能以及團隊合作能力。
ps. 本文是看到cnblogs Dflying Chen的 .NET方向進階開發人員面試時應該事先考慮的問題 一文,在討論中所想到的。
有所感,有所發。
development
»
Programming
»
software
»
trend
»
web2.0
»
Permalink
留言