Java 的封面

jopen 12年前發布 | 16K 次閱讀 Java

        譯者:感謝BOOM提供了本文翻譯。BOOM是個程序員,就職于某IT公司,有關他的更多信息請他的新浪微博:http://weibo.com/huji0624

        譯者注:這篇文章是Paul Graham寫于2001年的一篇預言Java的文章。

        這篇短文起源于我和幾個程序員曾經的一次關于為什么Java不可靠的談話,這不是批評Java,這只是一次關于程序員的嗅覺的學習案例。

        長時間以來,程序員們發展出了對好(或者壞的)技術的靈敏嗅覺。我想,把對我覺得Java不靠譜的原因寫下來會是件非常有意思的事情。

        有些讀過這篇文章的人覺得像這種方式提出一種新觀點是一種有趣的嘗試.其他人覺得似乎對自己不太了解的事情妄加評論會招來麻煩。所以,以防萬一,我 先澄清一下,我所寫的這些不是針對Java的(我從來沒有用過Java),而是關于程序員的嗅覺的東西(關于這方面我想過很多)。

        有句老話叫“你無法根據封面看出一本書內容(you can‘t tell a book by its cover)”,它源自于書被出售的時候,是以買主的個人喜好來裝訂封面的時代。在那個年代,你不可能通過書的封面辨別出它是哪本書。但隨后出版商們也在 進步,現代的出版商們讓你很容易就通過書的封面來分辨一本書。

        我在書店花費了大量的時間,我覺得到目前為止,我已經學會了理解出版商想告訴我的關于一本書的所有事情,或許更多。在余下我沒有待在書店的時間里, 我大部分時間都在電腦前,我覺得從某種程度上來說,我也學會了通過一種技術的外在面貌來評判它。有可能是運氣的原因,我讓自己免于了幾種最終被證明很不靠 譜的技術。

        目前為止,我不太喜歡Java。我從來沒有寫過哪怕一行Java代碼,頂多瞟過一眼Java相關的參考書籍,但我有種預感,Java不會成為一門很 成功的語言。也許最后會被證明我搞錯了;做技術預言是一件很危險的事。但從某意義上來說,把為什么我不喜歡Java的原因,作為一種時間膠囊保存起來,是 值得的,以下就是這些原因:

        1.它被吹得有點太天花亂墜了。真正的標準是不需要推廣的。沒有人會去推廣C,Unix,或是Html。一個真正的標準往往是隨著時間的推移被建立 起來的,在這個過程中大多數人已經聽說過它了。在程序員的雷達屏幕上,Perl陣營和Java差不多龐大,甚至還要大些,但它是依靠自己的長處逐步發展起 來的。

        2.Java的目標太低。在最初的Java白皮書中,Gosling明確表示,Java被設計得讓程序員更容易使用,而不像C語言那樣。它被設計成 了另一個C++:C加上一些從幾個更高級的語言里拿過來的思想。就像情景喜劇和垃圾食品或是旅游團的發明者一樣,Java的設計者有意識地設計了一個供沒 有他們聰明的人使用的產品。從歷史上來說,被設計成提供給他人使用的語言都不怎么樣: Cobol, PL/I, Pascal, Ada, C++都是這樣的。好的語言是那些設計者為自己創造的語言,比如C, Perl, Smalltalk, Lisp.

        3.Java動機不純。有人說過,如果人們只因為自己有些想說的話而寫書,而不是為了寫書而寫書,這個世界將會更加美好。同理,我們總是對Java如雷貫耳不是因為它想表達一些關于編程語言的看法。而是因為Sun把它作為對付微軟的計劃之一。

        4.沒有人真正喜歡它。C, Perl, Python, Smalltalk, 和 Lisp 序員都非常喜歡他們的編程語言。我從來沒有聽人說過他喜歡Java。

        5.人們是被強制使用Java的。我認識的很多使用Java的人用Java寫程序因為他們覺得他們不得不用Java。要么是因為他們覺得他們必須用 Java才能吸引到投資,要么是他們覺得顧客需要Java,或者是他們的經理讓他們使用Java。他們都是很聰明的人;如果一門技術很好,那么人們應該是 自愿使用它的。

        6.Java有太多維護人員。最好的編程語言一直以來都是被一小撥人開發出來的,但Java似乎是被一個委員會所維護的。如果Java最終被證明是一門好語言,那歷史上會首次出現委員會設計出了一門好語言這樣的事情。

        7,官僚作風太重。根據我所知甚少的Java知識,似乎使用Java的時候有很多的規定需要遵從。真正優秀的編程語言不會是這樣的。它會讓你做你自己想做的事,然后摸索出一套自己的辦法。

        8.太虛偽。Sun目前假裝Java是一門一如Perl,Python一樣的開源草根語言,而它只是碰巧被大公司控制。所以,Java也擁有了大公司的沉悶。

        9.Java是為一些大型組織所設計的,大型組織和程序員們有著不同的目標。他們希望一種適合于一大幫平庸的碼農所使用的語言,這種語言的特點就是 把愚蠢的人所犯的錯誤的破壞力減到最小,就像U-Haul卡車上的限速器一樣。程序員們不喜歡居高臨下的編程語言。程序員們只需要力量。歷史上,為大型組 織所設計的語言(PL/I,Ada)在競爭中敗下陣來,程序員們的語言(C,Perl)最終贏得了勝利。所以有這么個說法:現在的青少年程序員,就是未來 的CTO。

        10.不靠譜的人才喜歡Java。基本上我欣賞的大多數程序員都不迷Java。那誰喜歡Java?那些穿著西裝的上班族,所了解的編程語言很少,但 是他們經常從各種媒體上聽說Java;還有大公司的程序員,因為他們發現盡然有比C++還好的東西;再有就是愣頭青的準畢業生,會喜歡任何能給他帶來一份 工作的東西(他們比較在乎這個東西會不會出現在測驗上)。這些都是些見風使舵的人。

        11.它老爸都自身難保了.Sun的商業模式正在從兩個方面上被打壓。用在桌面電腦上同樣類型的廉價Intel處理器,現在用在服務器上也足夠快 了。并且FreBSD作為服務器的操作系統似乎不比Solaris差。Sun的廣告暗示你需要使用Sun的服務器來運行工業用的應用程序。如果真是這樣, 那么Yahoo將會是第一個排隊購買Sun服務器的公司;但我在Yahoo工作的時候,那里的服務器都是運行著FreeBSD的Intel鐵盒子。這預示 著Sun的前途不容樂觀。如果Sun遇上了麻煩,那Java也會和它一起被拖下水。

        12.國防部喜歡它。國防部鼓勵開發者使用Java。這對我來說似乎是個毀滅性的信號。國防部在保衛國家這件事上干得很好(也很貴),但它熱衷于計 劃,走流程和規定。他們的文化和黑客文化是完全相反的兩個極端;在軟件問題上,他們常站錯隊。上一次DoD很喜歡的編程語言是Ada。

        謹記,這不是一篇關于Java的評論,而是一篇關于Java所表現出來的外在因素的評論。我對Java的了解還沒有充分到喜歡不喜歡它。這只是關于為什么我沒有急切地想學習Java的一種解釋。

在嘗試使用一種語言寫過程序之前就不考慮接受它看起來有點太隨意了。但這是所有程序員不得不做的。這個世界上有太多的技術,你不可能把他們都學完。 你應該學會利用一些外在的信號來評判是否值得花時間去學習。我同樣也很隨意地就沒有理會Cobol, Ada, Visual Basic, the IBM AS400, VRML, ISO 9000, the SET protocol, VMS, Novell Netware, 和 CORBA。這些技術就是讓我覺得有點不對頭。

        有可能在這個Java的預言中,我搞錯了。它有可能成為一門由大公司為了削弱另外一家大公司而推廣,由一個委員會為主流擁護者而設計,被捧得天花亂 墜,并且被國防部所喜愛的編程語言,雖然如此,但是這門語言又碰巧是一門簡潔美觀而又很強大的語言,我超喜歡用它寫程序。這是有可能的,但是可能性非常 小。

[本文英文原文鏈接:java's cover ]

本文轉載自: 外刊IT評論 http://www.aqee.net/

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!