奇跡java
⑴ C#和java發明人是誰
java是由java之父James Gosling
James Gosling
Sun副總裁及Sun研究院院士
40年前,一個寒冷的冬天,在加拿大一個村莊里,Gosling家的第一個男孩哇哇落地了。家人給他起了名字,叫James。誰也沒有襲陵想到的是,長大之後,他成為了一個改變計算機語言的天才。
James Gosling從小就喜歡技術,愛鼓搗東西。12歲的時候,他用報廢的電話機和電視機中的部件做了一台電子游戲機。附近農民的康拜因(聯合收割機)出了問題也常常找他修理。14歲的時候,中學組織到附近大學參觀,他記住了大學計算中心的門鎖密碼,從此開始偷偷地溜進計算中心,學習計算機編程。一年後,大學的天文系招他當了一名臨時編程員,編寫計算機程序來分析衛星天文數據。
80年代初,James Gosling獲得博士學位後到IBM工作,設計IBM第一代工作站。當時,IBM的領導層並不看重工作站項李圓目。失望之餘,James Gosling跳槽到了Sun公司。他花了五年功夫領導開發的和OS2很類似的Sun NeWs窗口系統,盡管得到技術界的好評,卻未能變成流行的產品。當時他還第一個用C實現的EMACS的所見即所得文本編輯器COSMACS。
在當今這個競爭激烈的軟體開發時代,軟體設計師一直在試圖預測未來軟體或者技術的發展趨勢。在1990年,Sun公司成立了一個軟體設計團隊,其中除了James Gosling,還有Patrick Naughton和Mike Sheridan等人,他們合作的項目稱為「綠色計劃」。他們認為計算機技術發展拍擾戚的一個趨勢是數字家電之間的通訊。James開始負責為設備和用戶之間的交流創建一種能夠實現網路交互的語言。隨著大量的時間和金錢投入到「綠色計劃」,他們創建了一種語言。這種語言一開始被叫做「Oak」,這個名字得自於Gosling想名字時看到了窗外的一棵橡樹。但後來被改為了「Java」。並於1992年9月3日開始應用於Sun工作站的遠程遙控。
1994年底,James Gosling參加了在矽谷召開的「技術、教育和設計大會」。他報著試一試的心情向與會者演示了Java的功能。他點擊了網頁上的一個靜止的分子結構圖標,一條命令通過互聯網送到了幾百英里外的網站,下載了一段Java小程序,在本地工作站上開始執行。在幾秒鍾時間里,原本靜止的網頁上,一個分子圖像以三維動畫的方式轉了起來。
「哇!」James Gosling聽到了全場觀眾的贊嘆聲。
不久後,矽谷最大的報紙《聖荷西信使報》在頭版刊登了一篇專文,「為什麼Sun認為一杯熱咖啡能讓你鼓足精神」。從文章見報開始,負責Java市場人員的電話響個不停。不久,全美的主要報刊雜志都刊登了Java的報道。
Java出名了!
到了2000年,Java已經成為世界上最流行的電腦語言。綠色小組當初設計Java是為了面向數字家庭,支持各種家電設備。他們沒有想到的是,Java支持的計算模式,實際上就是互聯網的模式。
對於Java語言的巨大成功,沒有人比James Gosling 更加謙遜:「我從來沒有想到Java技術將會這么火。當我的老闆問我它將達到多少次下載時,我說 10,000 次。而他認為我太過樂觀了。」
詹姆斯·戈士林現任Sun公司副總裁及Sun研究院院士。
戈士林先生以「Java 技術之父」而聞名於世。他是Java 技術的創始人,他親手設計了Java語言,並開發了Java編譯器和Java虛擬機,使Java成為了世界上最流行的開發語言。Java支持的計算模式,已經成為了互聯網的標准編程模式以及分布式企業級應用的事實標准。目前,戈士林 先生積極致力於研究軟體開發工具,使它們功能更為強大,更容易為開發人員所使用,能夠快速地開發應用。
戈士林 先生曾創建了衛星數據攔截系統、Unix的多處理器版本、編譯器、郵件系統和視窗管理器等。他還創建了著名的WYSIWYG (「所見即所得」)測試編譯器。在Sun,他的早期活動是領導了NeWS (網路擴展視窗系統)項目,並任該項目的首席工程師。
2000年,安德爾思海斯博格,就是發明pascal語言的那個人,borland的創始人之一,神話般的人物,他一個人做了這些 pascal object pascal delphi vj++ c# .net framework
安德斯·海爾斯伯格 Delphi和.NET之父:安德斯·海爾斯(Anders Hejlsberg)
安德斯·海爾斯伯格(Anders Hejlsberg,1960.11~),丹麥人,Turbo Pascal編譯器的主要作者,Delphi和.NET之父
安德斯·海爾斯伯格曾在丹麥技術大學學習工程,當時他在丹麥擁有個叫Poly Data的公司,他編寫了Pascal編譯器核心,最初叫作Compass Pascal,後來叫Poly Pascal。Anders把該編譯器核心授權給了美國Borland公司。安德斯·海爾斯伯格作為雇員加入Borland公司,並且是後來所有Pascal版本與Delphi前3個版本的架構師。Philippe Kahn為Pascal添加了用戶界面與編輯器。
Anders Hejlsberg曾在丹麥科技大學學習工程學。Anders Hejlsberg第一次登上軟體界歷史舞台是在80年代早期,因為他為MS-DOS和CP/M設計了一個Pascal編譯器。當時,還是一個小公司的Borland很快僱用了他,並買下了他的編譯器,改稱Turbo Pascal。在Borland,Hejlsberg繼續開發Turbo Pascal,並最終帶領他的小組設計了Turbo Pascal的替代品、開發工具史上的奇跡:Delphi語言。
1996年,Anders Hejlsberg在Delphi3發布前離開Borland去了MS。
在此之前,MS曾多次企圖挖走Anders,但都沒有成功。據信anders去MS(主要)不是錢的問題,雖然MS的開價也相當有吸引力: 130萬美元年薪外加股票期權和分紅,總計超過300萬美元。更主要的原因是Anders和Delphi開發組的其他成員在修改編譯器的問題上發生了爭執;還有,據Borland內部人講,Anders認為自己不再是「不可缺少的人」。
Anders在Delphi3中幾乎沒有做什麼工作,Chuck Jazdzewski扮演了一個更重要的角色。(--Anders Ohlsson) Anders在Borland時把所有精力都放在了Pascal產品上,也需要新的挑戰,這時Bill Gates的親自邀請,許諾給與挑戰的機會,Anders加入了Microsoft就勢在必行。
Microsoft 用豐厚的薪水、股票認購權和巨額的加盟獎金雇請了 Hejlsberg 之後,Borland 曾提出通過不正當手段吸收新成員的控告。Borland 還曾聲稱 — 提供了很少的細節來支持指控 — Hejlsberg 正在開發「Delphi for Java」。這場訴訟雖然最終以 Borland 的勝利而收場;但Anders 已經在為Microsoft工作了。
1996年Anders來到微軟後,直接主抓Visual J++的研發工作,並在1999年被授予「distinguished engineer」(卓越工程師),在微軟僅有16人獲得這樣的榮譽。
後來微軟希望通過開發最新的軟體開發語言來贏得軟體開發者的擁戴,在微軟公司把視窗操作系統和軟體向網路遷移的新市場戰略中,C#語言是最重要的環節。微軟動用了最好的資源。Anders擔任了C#語言的首席設計師,同時也是微軟.NET戰略構架的重要參與決策者。考慮一下Anders的經歷,就不會奇怪微軟將此重任交給他了。畢竟C#也不是他對軟體開發方式重大變革的首次。現在經過幾年時間的埋頭苦幹,C#已成為微軟反擊Java語言的最有力武器。
鑒於他為軟體開發做出的巨大貢獻,Anders在《Dr.Dobb's》雜志的2001年西部會議上被授予「Prestigious Excellence in Programming Award」,《Dr.Dobb's》雜志的主編Jonathan Erickson說:「這一榮譽,我們每年只頒給那些在軟體開發領域做出非凡貢獻的人員,Anders開發的C#和他整個職業生涯中為軟體開發所做出的巨大貢獻有目共睹,他無愧於這一榮譽!」
比爾蓋茨也高度評價說:「我們為Anders獲得這一榮譽感到無比自豪,Anders在C#創建中所做的努力將會改變現在的軟體開發方式,並將在以後的十年繼續產生影響。」
「程序員是最好的職業」,Anders說:「每兩年,CPU的速度要加倍,內存容量是原來的四倍,但是我們的大腦還是原來的大小,很顯然,將需要更多的程序原來補充這些。」
註:海爾斯伯格曾在微軟博物館視頻上表明他是1960年生的,但很多其它資料顯示,他是1961年生的。2006年,在巴塞羅那微軟技術教育大會(TechED)上,安德斯再次確認他生於1960年。
⑵ Java是什麼
簡言之,Java環境可用來開發能在任何計算平台上運行的應用
軟體。它實際上是一種非常基本且結構緊湊的技術,而它對World
Wide Web以及商業的總體影響已可同電子表格對PC機的影響相比
擬。
Java是巨大的推動力量
Java已用動態的交互應用軟體使Web栩栩如生。它使開發人員
具有『編寫一次到處運行TM」的巨大能力。而且,藉助其JavaAPI
及其編程語言上的Java虛擬機,它已產生一種分布信息的嶄新模式。
這種模式叫做Java企業計算,正在幫助各企業以各種不同的方法取
得競爭優勢。網管和控制已大大簡化。軟體分配基本上是免費的,
而且立即可實現。電子貿易已獲得。佔有成本大幅度降低。信息和
應用軟體到處可存取。
Java建立在簡單的前提基礎上,即所有微處理器都應講同一種
語言??所有內部採用晶元的產品都應能一起工作,無縫而方便地
共享信息。它已經改變企業和個人同Internet大交道的方式。現在,
它正在對消費類產品產生明顯的影響,而且從總體上更加深刻地影
響企業計算。
藉助Java,您可自由自在地使用您已擁有的硬體和軟體。這是因
為Java是獨立於平台的。它還可使您超越企業計算,使應用軟體在便
攜式計算機、信息亭、電視、蜂窩電話和其他大量設備上運行。
全世界的公司都已發現Java數不勝數的用途。所有用途可從其無
可比擬的能力,即提高可靠性、安全性和簡化各種不同計算產品和
環境的能力中受益非淺,而且節省的時間和費用十分可觀。
Java無處不在。它已擁有幾百萬個用戶,其發展速度要快於在它
以前的其他任何一種計算機產品。它可位於任何地方,而且能到處運
行。Java正在迅速被用做傳播信息的事實上標准,這是因為它既可給
企業,也可給最終用戶帶來似乎數不清的好處。
因此,請您仔細考察一下Java。它的優點是很容易發現的。
「Java正在進入企業、家庭和學校。
它正在象Internet本身一樣成為普遍存在的技術。」
Oracle 公司董事長和首席執行官
Larru Ellison
「Java正在改變我們使用Internet的方法,改變我們
在公司內部存取信息的方法,甚至改變我們使用蜂窩
電話的方法。它正在從根本上改變製作信息、銷售信息
和分配信息的方法。」
EarthWeb公司董事長和首席執行官
Jack Hidary
Java的來龍去脈
Sun公司一小組工程師聚集在一起,認真思考日常生活中的
數字系統??因為烤麵包機、恆溫器、游戲機和其他無數設備
都包含越來越復雜的CPU??以及他們如何能使這些數字系統
共享信息。
創造未來的計算
製造產品的人當然全都從不同的方面來考慮其設計,視他們
所使用的硬體平台、操作系統和應用軟體而定。但是,如果您要
使這些產品中的一些產品一起工作,那怎麼辦?安全性、可靠性
和網路問題又這么樣呢?
因此,Sun公司這些工程師把各種不同的產品折開來,然後又
把它們重新組裝起來,其目標是要使這些不同的設備相互交談。
他們把這些研究對象相互傳來傳去,並理解所有其他研究對象的
特性,以便使他們能更好地一起工作。這就把製造商的問題縮減
到最低程度,並使消費者能方便地進行集成。當傳統的語言證明
是不適用時,工程師們就打算找到某種簡單的現代新語言。於
是, Java應運而生。
人們很快發現,Java有可能超越工程師的想像。Java的魅力在
於它提供給開發人員和用戶的簡便性。開發人員擁有廣大的用戶基
礎、平台獨立性、降低的開發費用和始終如一的執行環境,而用戶
則可 從生動的內容、即時軟體和增大的安全性中受益。
但是,Java正是從置於World Wide Web那時起才真正起飛。Java
使全世界大為震動,因為它使Web頁面栩栩如生,而且不久變得很明
顯,Java擁有大得多的潛力。人們之所以採納Java,是因為它有獨特
的能力來編制和部署能在任何一個網路、任何一個操作系統上運行的
應用軟體。分配軟體的時間和費用實際上已不復存在,使得各公司可
把更多的資源用來開發其產品。而且,某些工業專家認為,Java可能
會改變軟體銷售模式,從固定價格改變為按使用量收費,這樣做更有
利可圖,而且可阻止非法盜版。
Java是一種網路計算的通用開放標准平台。這種平台可從電話一
直擴展到極端重要的應用,建立在您現有的硬體和軟體體系結構基礎
上,從而創造出一個全部聯網的企業或者製造出超出的創新產品。
「由於Java具有可縮放性,因而我們可以把Java應用於小應
用軟體或大應用軟體,把它晶元組以及大型計算機和伺服器,並
使它為各種不同的應用領域服務。」
三菱公司系統營銷副總裁
Steve Hester
「藉助Java,您可以用一種能最有效地使用的方式動態地分
發和分配互動式商務應用軟體一一在需要運行應用軟體的地方,
在需要運行應用軟體的時候。」
Novell公司開發者服務部副總和總經理
Gary Mueller
Java紮下根來
在某種意義上,Java具體體現了Sun Microsystiems公司自其14年
前創建以來所追述的目標。當時,它創造了「網路就是計算機」這局名
言。它市基於Web的新網路計算模式的完美平台,因為它建立在各個
組織現有的硬體和軟體體系結構基礎上,能建立一個全部聯網的企業。
Java是一個完整而全面的解決方案
Java遠不止是一種編程語言,它是企業內外的完整計算環境,而
且萬事齊備,從開發工具、操作系統、伺服器軟體和瘦/肥客戶機一
直到網路管理工具、支持、培訓、咨詢和集成服務,一應俱全。Java
使用起來非常簡單,部分原因是Sun提供一種全面統一的解決方案。
主要組成部分包括:
*Java開發工具和服務:有助於簡化開發Java應用軟體的產品和
服務
*JavaOS:一種結構緊湊的操作系統,可使Java應用軟體在網路
計算機和蜂窩電話等設備上運行
*Java虛擬機:一層軟體,嵌入Windows、Macintosh和UNIX等計
算機操作系統,或在這些操作系統上運行,從而使計算機能
運行Java應用軟體
*Java API:標准軟體界面,位於Java應用軟體和資料庫檢索和
安全性等服務軟體之間
*Java晶元:一系列為Java優化的為處理器
*Solstice WorkShop:Java啟動的網路管理工具
*Java培訓:一個由教師指導和基於多媒體的完整課程,教會編
程員如何開發Java應用軟體,包括一個用來驗證熟練程度的
認證計劃
*JavaWorkShop支持:900號電話服務,可為Java WorkShop用戶
(僅限美國用戶)立即提供按需支持
這些產品依靠由Sun的核心技術和服務提供的基礎,包括:
*Solaris操作系統
*Sikstuce企業管理系統
*WorkShop開發者工具
*SunSpectrum支持服務
*Internet咨詢和集成服務
*Java和Internet教育服務
*ultra工作站和Ultra Enterprise伺服器;Netra伺服器
難怪大公司和日益增多的全球2000公司正在把Java計算用做系統以及
其終產品的主要方面。
「您不會把您自己鎖住在任何一家公司的專有技術中。
開放意味著選擇。而Java使您有選擇餘地。」
Java改變了什麼
&nbs
p; 十年前,幾乎沒有人想到,幾個技術人員研發的一個「小語言」,會發展成如今的一個「生態圈」,這就是Java。
Java讓互聯網動了起來
「計算機語言的發展歷史也是人們不斷追求更高的模塊化、抽象化和封裝化的歷史。近十年期間,很多編程語言,從出現到沒落經過了一波又一波。像1970年代出現的Pascal,如今用的人已經不多了。」一位資深程序員告訴記者,「『演算法+數據結構=程序』幾乎成為軟體開發的惟一準則,結構化程序設計方法從計算機發展角度來看是自然而然的,但今天從抽象的角度來看,這種方法幾乎可以說是一個『時代錯誤』。實際上,軟體開發的主要目的就是描述和反映現實世界,結構化程序設計方法並不符合這個思維方式。」
因此,抽象的過程應該是以現實世界的對象為中心的,於是面向對象的抽象方法就走到了前台,出現了Visual Basic、Delphi、C++以及Java等面向對象的編程語言,而互聯網的勃興,則給Java的成長帶來了肥沃的土壤。
「Java誕生時並沒有引起太多人的注意,它第一次讓人們覺得驚艷是在一次網站演示上,但當時人們對Java還抱有很大的爭議。」被譽為「Java之父」的SUN公司副總裁、軟體部首席技術官James Gosling回憶起十幾年前的情景不無感慨地說,「但Java的出現為當時的互聯網增添了生機,它讓那些靜態的頁面動了起來。」
而且,因為Java具有「只寫一次,隨處運行」的特點,從而引起了更多開發者的興趣。
「我們可以不必再做重復性質的勞動了。」中國科學院軟體研究所宋靖宇博士說,「此前,為了能夠使程序在不同型號的硬體平台上運行,開發人員必須耗費大量的時間來一遍又一遍的編寫代碼,然而Java改變了這樣的局面,只寫一次就可以。」
由於看到Java在互聯網時代的巨大作用,清華大學計算機系教授王克宏從1995年就開始跟蹤Java的發展。
Java語言的優勢似乎是與生俱來的,然而,僅有語言是不夠的。
免費的Java創造了應用奇跡
「為了提高軟體開發效率,任何編程語言都離不開相應的開發工具和程序庫。」王克宏說。於是,SUN公司在1996年的1月23 日發布了JDK1.0,其中包括兩個部分:運行環境和開發工具,運行環境包括五大部分:核心API、集成API、用戶界面API、發布技術和Java虛擬機。
隨著各種功能的完善與提煉,各種Java開發工具以及開發環境的豐富,Java不再是一種語言的代名詞,它變成了一種開發平台。人們常常聽到的J2EE(企業版)、J2ME(微型版)、J2SE(標准版)就是Java的三大核心平台。利用這三種不同的平台,人們可以來做不同行業的應用。
SUN公司大中華區總裁余宏德說:「Java經過十年的發展,已經得到了全球的公認,可以說,當今的電子時代是『Java無處不在』,正是基於它一開始的技術公開性,Java已經變成全球最富有活力的技術社區之一。」
盡管,Java目前已經風靡全世界,但Java 到底給整個產業帶來什麼,除了Java程序員外,似乎沒有人能具體感覺到。
SUN中國區市場經理馬君海比喻說:「電燈的發明,使得有了現在龐大的電力產業;電話的發明,使得有了當今興旺的電信產業;而Java的發明,則給軟體產業帶來了前所未有的改變。」
像一切新興事物一樣,Java的發展並不那麼順利,其坎坷起步的經歷,可以從SUN首席執行官Scott McNealy在SUN的Java One大會上的一句話得知一二:「七八年前的Java One演說現在聽起來真是寒磣,我們那時實在是太小看它了,我們根本不知道這項技術將會改變什麼。」而且,由於開始就是基於開源的態度,當時很多人懷疑它是否能賺錢。
然而,今天的Java已經得到廣泛應用。
據全球市場調查分析顯示:已經有25億部電子設備採用了Java技術,Java智能卡發行量已經達到10億張,採用Java技術的手機達7億多部,7億台PC中應用了Java技術,140家電信運營商支持Java 技術,全球有超過450 萬個Java開發人員,JCP(Java社區項目)已經有912家會員企業。
如果沒有Java,SUN將會怎樣
從1997年4月6日美國舊金山的第二屆Java One大會,到今年的Java十周年盛事,本報目睹了Java 十年的風風雨雨,眼瞅著這個以「咖啡」命名的小小編程語言變成了一個平台,一個社團,一個生態系統。Java不僅發展了自己,也同時改變了它的締造者。Java對SUN的改變是間接的、漸進式的,有時候甚至不為外人所道也。
與平台無關的Java旨在與「鎖定用戶的」Windows相抗衡,給人們更多的選擇,但推動Java研發的卻是家硬體公司――硬體公司與微軟抗個什麼衡?也許有人會拿IBM做類比――IBM也大量涉足軟體。問題在於,IBM涉足軟體的結果是把自己變成了一個軟體和服務公司,而SUN的主業依然是伺服器。表面上看,「純軟」的Java並沒有給「偏硬」的SUN帶來直接效益,反而樹了個強大的敵人,這就是並不「軟」的微軟。
同時,盡管SUN對Java的投資巨大,卻從沒說過它從Java中獲得過多少回報。因為使用Java程序和開發工具包是免費的,這讓那些利用Java做第三方開發的ISV們賺了個缽滿盆滿,可是SUN得到了什麼?當然,Java作為高級編程語言,它的注冊和維護也能給SUN帶來一定收入,但這是一個小頭,有人比喻說:「SUN成了Java的管家,而不是主人。」
SUN大中華區市場總監李永起近日為記者揭開了Java與SUN的秘密:「如果SUN只是一個做伺服器的公司,人們就不會對我們太感興趣,但有了Java,就大不一樣了,人們會跑過來與我們討論Java,人們會說:『哦,能研發出Java這么棒的編程語言的公司一定不同凡響!』況且,伺服器的銷售從來就不是孤立的,它體現為一個系統,Java在硬體銷售中發揮了關鍵作用。」SUN用 Java來定位Web服務,發揮其多平台對話的特長,營造Web服務環境。
Internet讓Java復活,Java則拯救了曾經陷入「偏硬」困境中的SUN。
SUN董事長麥克尼里認為:Java帶來的益處從根本上講是間接的。「但是,」他說,「想像一下,如果10年前SUN沒有做Java,今天SUN將會在哪裡?如果人們不寫Java Web服務,他們會寫.Net的程序,如果他們寫.Net的程序,他們就不會為SUN的設備寫程序。」
.NET不折不扣的對手
近年來,國內一批軟體公司都採用Java技術開發了一批軟體平台和產品,這兩年Java在國內得到了迅速發展。不過,盡管看起來Java的隊伍似乎很強大,但國內Java人才相對而言還是少得可憐。
「SUN在新加坡建立了Java高級培訓中心,目前新加坡有5萬名Java 人才,而新加坡全國只有380萬人,即全國1.3%的是Java人才,如果按此比例,中國應有1700萬名Java人才,而現在估計僅10到15萬人。」王克宏教授在相關的報告中寫道,「造成國內Java應用不多的原因是多方面的。」
「這兩年SUN才開始在中國舉辦各種活動,而許多媒體對Java的不關注也是其中一個原因。」王克宏說。
「其實,鑒於Java出來時總給人陽春白雪的面孔,使得國內的許多編程者在熟悉了微軟的開發平台後,很難轉換過來是其中的一大部分原因。」宋靖宇博士說,「你不得不承認微軟在開發工具上的人性化以及可視化設計是高超的。」
「在討論 Java 的時候我們很容易將 Java 語言和 Java 平台混為一談,與.NET 平台比較的過程中,也更多的是將Java平台和C#比較,或者將Java語言和.NET 平台做比較,在我個人的意識中,這是不夠公正的。」上海大學博士劉錟對記者說,「Java既是一種語言,也是一種平台。」
說到微軟的.NET,它從提出的開始就是立足平台,相對於 Java 提倡的「一次編寫,到處運行」,.NET則提倡「一個平台,多種語言」,因為平台的統一性,因此在各個程序語言的兼容性和混合開發方面做得比Java 好,也因此有些微軟的「粉絲」嘲笑Java是「一次編寫,到處調試」。
「微軟的C#是集合了C以及C++甚至Java的許多優點的結晶,在Windows平台上,似乎C#在運行速度上更勝一籌。」劉錟介紹說,「在任何一個平台上,我們直接交流的是實現Java語言運行的虛擬機,我們希望Java在虛擬機以及它的開發平台的研發上變得更易用、更人性化。」
「有對手總是一件不算壞的事情,這個世界不需要『獨孤求敗』,商業規則也不允許『獨孤求敗』的出現,因為那樣會打破競爭格局的平衡,而Java和.NET這兩個平台的紛爭才剛剛開始。較量,有利於整個軟體世界。SUN公司在商業模式的運作上甚至可以跟微軟學習。」一網友這樣說。