註:十年是湊個整,討個口彩,實際算來卻是10多年了。這篇是口水文章,感興趣的瞄瞄,不喜歡的莫踩。另,這裡也不包含開源的各種發展。
《不差錢》裡的鴨蛋說,長江後浪推前浪,堅決要把他爹拍在沙灘上。
我無意間一回想,軟體開發上還真有點這個味道,十幾年間,已是三代程式員。
第一代程式員大致上是基於DOS來做開發,常用的開發環境叫Turbo C。這個時候還沒那麼多API和類庫,也沒那麼多層次,你要想幹什麼很容易直接操作到硬體。
如果你不喜歡開發環境提供的庫函數,大可以自己操作顯卡顯示點什麼。
現在回想起來,那一代程式員應該是國際水準,大家玩的東西是一樣的能鼓搗出WPS,UCDOS,KV300的人絕對是超一流選手,世界上的高手也就這個水平,至少不會差很多。
到後來,才因為種種原因,拉開了差距。
第二代程式員大致上是基於Windows來做開發的,常用的開發環境是VC,C++Builder,Delphi,VB來做開發的。
這個時間段裡,作業系統對硬體的封裝越來越嚴格,Windows2000出來後,不寫核心驅動已經無法操作硬體。
程式員能看到的主要是作業系統了。
現有的有名的用戶端軟體,幾乎都是這個時候興起的,Adobe的,Office,甚至WinRar。
這段時間應該可以算作用戶端程式最為輝煌的時候。
這個時候比較盛行的一個事是找沒有文檔化的Windows API,在當年的MSDN雜誌(好像叫MSJ)上,還有一個專門的欄目叫Under the hood來解析一些微軟不公開的東西。
現在的年青的程式員可能很難想象,一群人坐在一起爭論VC好,C++Builder好,Delphi好,還是VB好的樣子,但對某些人而言,這不過是昨天才發生的事情。
只是歲月如刀,砍去了那些礙眼的東西。
C++Builder,Delphi,VB幾乎徹底消失,Under the hood久無新章,可為明證吧。
需要補充的一點是,在這個階段裡,國內外開發水平被拉開了。之前很多赫赫有名的軟體,延續的並不是很好。
第三代程式員不太好界定,但大致可以說是以Web為核心吧,更多的體現一種聯通(網路)的特質。更多的會涉及Html,CSS,VBScript,Javascript,PHP這類東西。
老實講當Javascript剛出現的時候,我個人的第一感覺是:這玩意太弱,能幹得甚事。
那會想到今時今日Ajax有這般威力。
也許時至今日很多老程式員仍然不太看得上Html,CSS這些東西,覺得太簡單。
但如果我們正視現實我們就會發現世界確實變了,在2000年的時候,誰會想到微軟會有步履蹣跚的時候。
今時今日Web的地位已經不必多說。
我們可以講第一代程式員所需要的技能徹底的退出了曆史的舞台,但第二代程式員卻仍然存在著,並將與第三代程式員一起豐富著軟體的世界。
只不過與當年處在絕對主角的位置不同,現在有其他的東西更加光芒四射。
.net和Java涵蓋的面太廣,很難講他們就和第二代程式員所需要掌握的技能沒有關係,但是我更願意把他們劃在這裡。