關于《Java封面》一些感想
今天正好看了博客園的首頁的一篇文章 《Java封面》 ,初次一看,覺得這個貌似很這個說的完全都不靠譜啊,再一看,原來是2001年寫的,然后在看看作者,發現原來是 硅谷創業教父 Paul Graham寫的,聯想到之前看到他寫的一本書《黑客與畫家》,突然能夠明白為什么他這么認為java前途了。
java語言是在 1995年發明的,當初只是為了做一些機頂盒相關的應用,設計的也比較簡單。那個時候java并不出名,java之所以比較火爆,就是因為互聯網的發展,是由于當初的在瀏覽器里面能夠運行java編寫的小程序applet,你想想,那個時候互聯網才剛開始發展,能夠在網頁上面運行動畫,是多么牛逼的東西,由于當初java非常火爆,導致javascript 這門語言,想和java搭上關系,其實完全和java一點關系都沒有,當初我學習javascript的時候,我一直好奇的是,這門語言完全和java沒有關系,干嘛啟用這么一個名字。
由于互聯網的快速發展,微軟出了asp的網頁編程語言,記得當初我走B/S道路的時候,就是因為學習了asp這一門語言,發現能夠做出東西來產品,比當初學習c和c++只能夠寫出hello word 這樣的編程語言相比,它有趣多了。這個時候java也出了相關的網頁編程語言jsp,然后慢慢的推出java三個平臺,j2me,j2ee,j2se,分別定位移動平臺,企業平臺,客戶端平臺。
我初步覺得 Paul Graham 之所以當初對java有如此的認識,其實和當時所處的時代有關。當初的互聯網剛剛起步,社會對互聯網的認識才剛剛開始,當時的網速也不快,大多數復雜的企業應用都是采用的C/S模式,還沒有慢慢步入B/S模式,而目前java主要運用都是在企業軟件里面,現在大多數企業應用都是建立在B/S模式上的,所以說還是互聯網成就了java。
現在來看看,作者當時的很多想法,應該是錯誤,
比如說著說:真正的標準是不是需要推廣,相反,現在的標準之爭原來越頻繁,很多IT大佬在左右的IT編程語言的發展。一個標準推出的好處就是減少重復和浪費,就像操作系統,如果只有一個標準,大家都按照這個標準做,就不會出現為每個廠商就做一個操作系統軟件,造成極大的浪費,幸好互聯網定義了http標準協議,否則我難以想想互聯網是什么樣的。
java的目標太低:我看了黑客和畫家,作者是一個典型的geek主義者,認為程序員是一個對技術要求很高的職業,要有喜歡挑戰的精神,是一個典型的個人主義者。而java太簡單。但是相反,隨著IT技術的發展,對編程的要求不在那么高,只需要受過一個普通教育的人也能夠開發出來很好的應用的人,編程只是一個實現功能的方式,要求越簡單越好,越簡單生產效率越高,而簡單的東西才能流傳的更久和更廣。
Java 動機不純:這個我覺得真的沒有什么好說的,對付微軟很正常,如果有市場就行,微軟還不是***出了.net來對付java。開始java只是為了解決機頂盒問題的,后來發現java的這種設計思想非常不錯,可以解決很多問題,***的好處就是跨平臺。慢慢的就往更多的領域發展。
Java 有太多維護人員:java被一個委員會所維護,其實也不叫維護吧,這個委員會(JCP)只是規劃java的未來的發展方向以及給java本身添加一個功能,我覺得java***的特點就是 定義了一個功能,但是不管這個功能是如何實現的,只要滿足功能的規約。所以我覺得學習java***的一個特點就是規范,你會發現一大堆規范,最常見的就是 java虛擬機規范,規范主要是講解要做什么,限制是什么,產生什么結果等等,并不關心怎么實現。
官僚作風太重: 這個比較有意思,仁者見仁,智者見智吧。java的確會有一大堆規范,比較不適合 geek,但是比較適合軟件這個行業。如果有一大堆規范,那么每個人都會按照這個規范去做,每個人寫出來的程序差不多,對于大型IT企業是很喜歡的,畢竟替代一個程序員的代價很低,大家的思想都差不多。
后面的幾點我覺得都有點牽強,但是從作者的觀點也可以看出來 對于碼農的認知是不同。至少看完了《黑客與畫家》,我發現作者是有強烈的黑客情節的(hack the problem),作者對于程序員的認識和現在對于程序員的認知應該是不同的。其實這個也是我最近在思考的一個問題:程序員的價值是什么。隨著軟件開發行業越來越公開化,開源世界的影響越來越大,程序資源也越來越多,很多功能的實現都有特定的開源幫助我們來實現,我們可以隨時拿來用,以前我們的思維是如何實現這個功能,那么現在變成有沒有類似的解決方案可以拿來用,程序員原來越偏向一個程序組裝者或者解決方案者,那么程序員新的價值在那里 ?
原文鏈接:http://www.cnblogs.com/aigongsi/archive/2012/09/24/2700507.html