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















 
 
 




 
 
 
 