Java:一個失敗項目的副產品,再次出世,變身最受歡迎的編程語言

20世紀90年代初期,在硬件領域發生了一件大事,那就是32位單片機和使用FLASH存儲的微控制器的橫空出世。鑑於單片式計算機系統未來的良好市場,創建於1982年的Sun公司為了搶佔市場先機,在1991年成立了一個稱為 “Green”的項目小組。由詹姆斯.高斯林及其他幾名工程師一起組成的這個小組開始研究開發新技術,專攻計算機在家電產品上的嵌入式應用。項目的最終成果之一是基於C++語言的新的編程語言Oak。1995年隨着互聯網的蓬勃發展,Sun公司終於想起了那個被擱置起來很久的項目成果——Oak語言,並將其改名為Java後公佈於世!

Java:一個失敗項目的副產品,再次出世,變身最受歡迎的編程語言
引言

20世紀90年代初期,在硬件領域發生了一件大事,那就是32位單片機和使用FLASH存儲的微控制器的橫空出世。這種價格低廉的單片式計算機系統一出現就立即引起了自動控制領域人員的注意,因為使用這種系統可以大幅度提升消費類電子產品——如電視機頂盒、麪包烤箱、移動電話等——的智能化程度。

鑑於單片式計算機系統未來的良好市場,創建於1982年的Sun公司為了搶佔市場先機,在1991年成立了一個稱為 “Green”的項目小組。由詹姆斯.高斯林及其他幾名工程師一起組成的這個小組開始研究開發新技術,專攻計算機在家電產品上的嵌入式應用。

由此,一個偉大的、卻最終失敗了的項目拉開了帷幕,但最後充分印證了“失敗是成功之母”的傳世名言。説其偉大,是因為其最終孵化出了一門在十年後,長期雄霸最受歡迎編程語言榜首的編程語言,這就是今天的主角—— Java語言。

Java:一個失敗項目的副產品,再次出世,變身最受歡迎的編程語言

Java是一門面向對象編程語言,具有簡單性、面向對象、分佈式、健壯性、安全性、平台獨立與可移植性、多線程、動態性等特點。在應用上,Java可以編寫桌面應用程序、Web應用程序、分佈式系統和嵌入式系統應用程序等。

Java語言作為靜態面向對象編程語言的代表,極好地實現了面向對象理論,允許程序員以優雅的思維方式進行復雜的編程。

Oak語言

Sun公司的“Green”項目小組成員首要的工作,是確定在單片式計算機系統的環境下進行編程所採取的語言,由於C++語言所具有的優勢,被確定為第一選擇。然而在後續的工作中,卻遇到了重重阻撓,拿IT界的習慣説法就是踩了無數的坑。

最關鍵的兩個問題是:單片式計算機系統的硬件資源的匱乏和消費電子產品所採用的嵌入式處理器芯片的種類繁雜導致的平台差異。為了解決困難,最終決定改變工作計劃,開始着手研發適合未來應用場景的編程語言。

小組成員首先確定了硬件平台的規範,假設了一種結構簡單、符合嵌入式應用需要的硬件平台體系結構,這其中就包括後來被稱為“字節碼”的二進制機器碼指令系統。他們的設想是未來語言開發成功後,能有半導體芯片生產商開發和生產這種硬件平台,以便以新語言開發的程序可以通用於其上。

這種新語言最終被命名為“Oak”,是一種面向對象的編程語言。Oak語言是基於C++語言,根據嵌入式軟件的要求進行相應的改造後形成,具備更實用、更安全、更符合實時性要求的特點。

由於運行字節碼的硬件平台還不存在,為了建立Oak語言的試驗和研究環境,就在已有的硬件和軟件平台基礎上,按照所制定的規範,用軟件建設了一個模擬的運行平台。

時間進入了1992年的夏天,Oak語言終於開發完成。但這些研究者們在向硬件生產商演示他們的運行平台、Oak的程序設計語言、類庫和其硬件時,遭遇了滑鐵盧。Oak語言也就因為缺乏硬件的支持而無法進入市場,從而被擱置了下來。

隨着技術的進步,以及萬維網(互聯網的前身)的快速發展,在1994年6、7月間,項目組經歷了三天的討論之後,決定將項目前期的成果應用於萬維網。當年年底,詹姆斯.高斯林在硅谷召開的“技術、教育和設計大會”上,首次展示了Oak程序。到1995年時,項目組真正的機會到來了。

Java出世

1995年互聯網的蓬勃發展,使得市場急需一種可以通過網絡傳播並且能夠跨平台運行的程序。在此情況下,Sun公司終於想起了那個被擱置起來很久的項目成果——Oak語言,重新對其進行審視,發現其精簡的風格、小體量的特點,非常適合在網絡上傳輸。

Java:一個失敗項目的副產品,再次出世,變身最受歡迎的編程語言

於是,Sun公司首先推出了可以嵌入網頁,並且可以隨同網頁在網絡上傳輸的Applet(後來的Java小程序),並將Oak語言進行專利註冊,此時卻發現該名稱已被註冊。隨後,Sun將Oak改名為Java(源於討論Oak新名稱時,提議者在喝一杯Java咖啡時對咖啡的無意評論),並於5月23日,在Sun world會議上正式發佈Java和HotJava瀏覽器。

至此,由失敗的嵌入式應用項目的副產品Oak,在更名為Java後開始被廣為人知,迅速在世界上流行起來。

當時IT界的巨頭公司,IMB、Apple、DEC、Adobe、HP、Oracle、Netscape和微軟等都紛紛停止了自己的相關開發項目,競相購買了Java使用許可證,併為自己的產品開發了相應的Java平台。

1996年1月,Sun公司發佈了Java的第一個開發工具包(JDK 1.0),這是Java發展歷程中的重要里程碑,標誌着Java成為一種獨立的開發工具。同年10月,Sun公司發佈了Java平台的第一個即時(JIT)編譯器。

1997年11月17日,國際標準化組織(ISO)同意採納Sun公司的專利技術——Java,作為ISO標準。JAVA作為一個技術標準開始供公眾無償使用。

1999年6月,Sun公司發佈了第二代Java平台(簡稱為Java2),是Java發展過程中最重要的一個里程碑,標誌着Java的應用開始普及。

2006年11月13日,Java技術的發明者Sun公司宣佈,將Java技術作為免費軟件對外發布。Sun公司正式發佈有關Java平台標準版的第一批源代碼,以及Java迷你版的可執行源代碼。從2007年3月起,全世界所有的開發人員均可對Java源代碼進行修改。在Java的發展史上,這是一個歷史性時刻。

Java:一個失敗項目的副產品,再次出世,變身最受歡迎的編程語言

2009年,Sun 公司被甲骨文公司收購。僅僅過了一年,被公認為“Java之父”的Java編程語言的共同創始人之一——詹姆斯·高斯林,從Oracle公司辭職。

結語

如果瞭解C語言的誕生,或者看過我關於C語言的的舊文(請看文末參看內容),對於Java的誕生是否有種似曾相識的感覺?是的,這兩種廣受歡迎的編程語言,都是歪打正着的產物。

這充分説明了一個偉大事物的誕生,並不在於其出世時的狀態,而是決定於其實質和其所處的時代。在軟件領域,目前有5000多種編程語言,它們可能專注於某個行業,也可能僅僅是用於某個項目,也可能存在於一時,但你無法忽視其所起的作用。一門受歡迎的編程語言,只是因為適應了潮流、適應了時代,在不斷的變化中獲得了新生。

Java 語言本身就是一門隨時代快速發展的計算機語言程序,其深刻展示了程序編寫的精髓,加上其簡明嚴謹的結構及簡潔的語法編寫,為其將來的發展及維護提供了保障。在當前的網絡信息化時代,Java語言在減少內存,可以直接在各類電子產品中運行,同時在網絡中可被任何設備所識別,以及充分利用網絡資源等方面的突破創新,也讓Java的大行其道有了必然性。

由於Java核心源代碼的開源狀態,使得各個互聯網巨頭以及Java社區可以對Java提供完全的支持,出現了相當多的非常流行的框架結構,比如SpringMVC。使用這些成熟的框架,可以使得Java應用程序的編寫難度逐步降低,反過來又使得更多才華橫溢的程序員將精力放置於Java語言的完善與框架結構的設計中,形成了良性循環。

所有的這些,都使得Java技術在創新和社會進步上繼續發揮着強有力的重要作用。

附錄:

縮略語解釋:

  • JRE:Java運行環境(Java Runtime Environment)
  • JDK:Java開發包或Java開發工具(Java Development Kit)

常用編程工具:

  • Eclipse:一個開放源代碼的、基於Java的可擴展開發平台 。
  • NetBeans:開放源碼的Java集成開發環境,適用於各種客户機和Web應用。
  • IntelliJ IDEA:在代碼自動提示、代碼分析等方面的具有很好的功能。
  • MyEclipse:由 Genuitec 公司開發的一款商業化軟件,是應用比較廣泛的Java應用程序集成開發環境。
  • EditPlus:如果正確配置Java的編譯器“Javac”以及解釋器“Java”後,可直接使用EditPlus編譯執行Java程序。

常用的十大Java框架:

  • Spring:一個輕量級的控制反轉(IoC)和麪向切面(AOP)的容器框架,主要用來解決企業應用開發的複雜性
  • SpringMVC:一種基於Java的實現了Web MVC設計模式的請求驅動類型的輕量級Web框架
  • Mybatis:支持普通 SQL查詢,存儲過程和高級映射的優秀持久層框架
  • Dubbo:一個分佈式服務框架,致力於提供高性能和透明化的RPC(遠程過程調用協議)遠程服務調用方案,以及SOA服務治理方案
  • Maven:一個項目管理和構建自動化工具
  • RabbitMQ:用Erlang實現的一個高併發高可靠AMQP消息隊列服務器
  • Log4j:一個日誌處理框架
  • Ehcache:一個純Java的進程內緩存框架,具有快速、精幹等特點,是Hibernate中默認的CacheProvider
  • Redis:一個key-value存儲系統
  • Shiro:Apache Shiro是Java的一個安全框架,旨在簡化身份驗證和授權

歡迎關注“夢想視角”!關注手機、數碼、科技、互聯網資訊!

請參看

C/C++的起源與發展故事,我是最牛的軟件編程語言,不接受反駁

軟件世界的緣起及現代編程語言的誕生,程序員羣體有一位老祖母

版權聲明:本文源自 網絡, 於,由 楠木軒 整理發佈,共 3920 字。

轉載請註明: Java:一個失敗項目的副產品,再次出世,變身最受歡迎的編程語言 - 楠木軒