最近看了一些帖子,是關于taglib的,大家紛紛口誅筆伐,欲除之而后快……。這場爭論本身沒引起我多大的興趣,倒是勾起了我的一些回憶,要是不怕羅嗦的,就讓我這個“老人家”給你講一個故事吧。
咳咳……
在很久很久以前,那時,web還是新鮮事物,dreamweaver沒有被發明出來,那時的所見即所得的工具是frontpage,但是非常的不好用,所以,程序員們大多都用文本編輯器來寫html,大家用netscape瀏覽著為數不多的網頁,覺得很快樂。
然后,某天一覺醒來,cgi就橫空出世了。大家紛紛嘖嘖稱奇,你瞧,頁面內容會動態變化耶,好cool哦。。。都來學習吧!!把html放在perl代碼中用引號擴起來,這樣你就能"動態"加入一些東西,你看,多簡單呀。一陣短暫的騷動之后,大家使著cgi,又恢復了很快樂的幸福生活。
當時的delphi有一個寫isapi的模塊,只要在一個文本文件中使'#xxx'的標注,程序中可以做一個替換,運行時,就能看到替換過的頁面,非常cool??上В胐elphi寫isapi是一件比較費腦子的事情,所以這東西似乎也沒有流行多久。
后來asp就出現了。哇塞,可以直接在asp的html之間插入代碼!那豈不是想怎么變化就怎么變化了么?簡直是劃時代。于是紛紛來學,一時之間,摩肩接踵,滿大街跑的都是'asp工程師'了,可謂盛況空前呀~~。
即便是有了asp這樣的神兵利器,桶子們的快樂日子也沒有能持續多久。因為php馬上就出現了。這個東西不僅象asp一樣cool,而且它還免費,還開源,還跨平臺……。開源的!想一想,可以自己寫代碼加進php去擴展它的功能呢。所有追求上進的web開發者都不能抗拒這樣的誘惑。于是紛紛加入開發軍團,而且一有功夫就跑到asp那邊去踢館鬧事。。。罪過罪過。
Sun從來都是最無恥的,無恥就無恥在桶子們剛剛滿足的抱著php歡天喜地的時候,它竟然推出了jsp!你想想,這東西不僅象php一樣跨平臺、開源、免費,而且還是編譯為java的。我考,每個請求都是啟動一個線程,而不是fork的,那該多快?一邊搬著腳指頭算性能,可憐的桶子們一邊又要忙不迭的開學了。
桶子在歡天喜地的慶祝jsp的誕生,可是他們并不知道,可憐的他們已經進入sun布下的最陰險的陷阱: 恐怖的爪哇叢林。江湖流傳著一種關于爪哇叢林的傳說:'從來沒有人見過有人能活著從里面出來,叢林深處偶爾還會傳來另人毛骨悚然怪叫,有人說那聽起來很恐怖,有人說那聽起來很興奮'。
jsp和php還有asp實際上都是一碼事。無非就是'把代碼塞進html中',比起之前cgi的'把html塞進代碼中',在'寫出讓人更惡心的代碼'上并沒有太大的長進。而爪哇叢林中也有delphi精神的繼承人,那時似乎是叫webmacro的,主要是名字叫得太惡心,所以一直也混得比較慘。不過據說后來它洗心革面改了個唬人的名號叫velocity,又加入了叢林第一大幫apache,混了很久,總算撈到了一點臉熟的名聲。
說起apache幫,那可是名聲顯赫,龍蛇混雜,其中有個誤人不淺的struts不得不提。那個家伙號稱MVC2,其實就是'把簡單的事情弄復雜'那套坑蒙拐騙的小伎倆。做一個很簡單的東東,都要動用action,form,啃完一大本的taglib,還要折騰n個巨復雜無比的配置文件。唉,不知葬送了多少無知桶子的寶貴青春。那陣子,如果你見到一個面色蒼白眼窩深陷的桶子,可以走上去問"struts?",那人要是撲通一聲跪下,抱住你的腿就開始痛哭流涕的,那一定就是剛到struts連鎖店抽過的了。唉~~,悲慘世界呀。
apache幫據說還有一個Tapestry,在struts被搞臭之后,這個家伙又開始火了。老人家我沒什么功夫來仔細看了,不過,用html加入標簽,再用dom解析替換的方式,怎么著都讓人想起delphi,webmacro,velocity這些影子呢。。。
咳咳……
唉~,江湖……