java的發展
A. java語言的發展歷史
早期的Java
Duke,Java語言的吉祥物語言最開始只是太陽微系統(Sun MicroSystems)公司在1990年12月開始研究的一個內部項目。太陽微系統公司的一個叫做帕特里克?諾頓的工程師被公司自己開發的C++和C語言編譯器搞得焦頭爛額,因為其中的API極其難用。帕特里克決定改用NeXT,同時他也獲得了研究公司的一個叫做「Stealth計劃」的項目的機會。
「Stealth計劃」後來改名為「Green計劃」,詹姆斯·高斯林和麥克?舍林丹也加入了帕特里克的工作小組。他們和其他幾個工程師一起在加利福尼亞州門羅帕克市沙丘路的一個小工作室裡面研究開發新技術,瞄準下一代智能家電(如微波爐)的程序設計,太陽公司預料未來科技將在家用電器領域大顯身手。團隊最初考慮使用C++語言,但是很多成員包括太陽的首席科學家比爾?喬伊,發現C++和可用的API在某些方面存在很大問題。
工作小組使用的是內嵌類型平台,可以用的資源極其有限。很多成員發現C++太復雜以至很多開發者經常錯誤使用。他們發現C++缺少垃圾回收系統,還有可移植的安全性、分布程序設計、和多運行續功能。最後,他們想要一種易於移植到各種設備上的平台。
根據可用的資金,比爾?喬伊決定開發一種集C語言和Mesa語言大成的新語言,在一份報告上,喬伊把它叫做「未來」,他提議太陽公司的工程師應該在C++的基礎上,開發一種面向對象的環境。最初,高斯林試圖修改和擴展C++的功能,他自己稱這種新語言為C++ ++ --,但是後來他放棄了。他將要創造出一種全新的語言,被他命名為「Oak」(橡樹),以他的辦公室外的橡樹命名。
就像很多開發新技術的秘密工程一樣,工作小組沒日沒夜地工作到了1992年的夏天,他們能夠演示新平台的一部分了,包括Green操作系統,Oak的程序設計語言,類庫及其硬體。最初的嘗試是面向一種類PDA設備,被命名為Star7,這種設備有鮮艷的圖形界面和被稱為「Duke」的智能代理來幫助用戶。1992年12月3日,這台設備進行了展示。
同年11月,Green計劃被轉化成了「FirstPerson有限公司」,一個太陽公司的全資子公司,團隊也被重新安排到了帕洛阿爾托。FirstPerson團隊對建造一種高度交互的設備感興趣,當時代華納發布了一個關於電視機頂盒的徵求提議書時(Request for proposal),FirstPerson改變了他們的目標,作為對徵求意見書的響應, 提出了一個機頂盒平台的提議。但是有線電視業界覺得FirstPerson的平台給予用戶過多的控制權,因此FirstPerson的投標敗給了SGI。與3DO公司的另外一筆關於機頂盒的交易也沒有成功,由於他們的平台不能在電視工業產生任何效益,公司被並回太陽公司。
1994年6月、7月間,在經歷了一場歷時三天的腦力激盪的討論後,約翰·蓋吉、詹姆斯·高斯林、比爾·喬伊、帕特里克·諾頓、韋恩·羅斯因和埃里克·斯庫米,團隊決定再一次改變了努力的目標,這次他們決定將該技術應用於萬維網。他們認為隨著Mosaic瀏覽器的到來,網際網路正在向同樣的高度互動的遠景演變,而這一遠景正是他們在有線電視網中看到的。作為原型,帕特里克·諾頓寫了一個小型萬維網瀏覽器,WebRunner,後來改名為HotJava。由於商標搜索顯示,Oak已被一家顯卡製造商注冊。於是同年,Oak被改名為Java。當使用十六進制編輯器打開由Java源代碼編譯出的二進制文件(.class文件)的話,最前面的32位將顯示為CA FE BA BE,即片語「CAFE BABE」(咖啡屋寶貝)。
1994年10月,HotJava和Java平台為公司高層進行演示。1994年,Java 1.0a版本已經可以提供下載,但是Java和HotJava瀏覽器的第一次公開發布卻是在1995年3月23日SunWorld大會上進行的。升陽公司的科學指導約翰·蓋吉聲明Java技術。這個發布是與網景公司的執行副總裁馬克·安德森的驚人發布一起進行的,宣布網景將在其瀏覽器中包含對Java的支持。1996年1月,升陽公司成立了Java業務集團,專門開發Java技術。Java近況在流行幾年之後,Java在瀏覽器中的地位被逐步侵蝕。它在簡單交互性動畫方面的用途已經完全被Adobe公司的Flash排擠,2005年Java傾向只被用於雅虎游戲那樣的更為復雜的應用程序。Java同時遭受到來自微軟的反對,他們決定在新版本的Internet Explorer和Windows中不再附帶Java平台。
與此相反。在萬維網的伺服器端和手持設備上,Java變得更加流行。很多網站在後端使用JSP和其他的Java技術。
在桌面系統上,獨立的Java程序還是相對少見,這是因為Java平台的運行開銷較大,而許多人的電腦上沒有安裝Java,由於網路帶寬在以前較小,下載Java曾經是個耗時的事情。但是隨著計算機計算能力、網路帶寬在10年中取得了很大的進步,同時虛擬機和編譯器的質量得到了提高,許多應用程序得到了廣泛的使用
B. Java的職業發展是怎麼樣的
1、軟體設計師
其實很多程序員走到這個階段已經在做軟體設計師工作了,這是絕大多數程序員發展的必經之路。
程序員在編程序的時候,一方面會實現設計的功能,另一方面也在對設計有一個理解、認識、熟知的過程,進而慢慢地從學習別人設計,轉向到自己參與或獨立設計。
如果這個程序員真的非常非常喜歡程序員這個職業,則可以轉向軟體設計師。這個轉變很大程度是程序員意識的轉變,就是說要把編程的時間,逐步分攤到軟體設計上,要把重點從編程實現轉變到項目的功能設計上。
我這里強調的是「逐步」的一個過程,程序員要逐步減少編程的時間,增加設計的時間,要克服編程的強大吸引力,要主動地攀上設計這個台階。很難有一個設計師是完全不編程的,而且我認為,會編程的設計師才是真正的設計師,一般這種轉變需要花上一到兩年時間。
2、 項目經理
也有一些程序員工作機遇比較好,不但負責了項目的設計工作,而且負責了項目管理工作,對項目經理這個工作有了一定的嘗試。因此,這類程序員可以審視一下自己,是否合適這項工作,如果自己對這種工作比較滿意,而且具備項目經理的要求,則可以向項目經理這個方向發展。
項目經理承擔著項目管理的職責,對項目負主要責任。它和程序員的作用也不相同,項目經理的重點已經從編程轉移到對人、對技術、對進度、對項目的管理。由於軟體的項目經理與軟體項目的相關性太大,因此,他必須要了解軟體開發的各個環節、了解開發的各種技術和運用、了解開發隊伍人員的水平和特點,所以他依舊和程序員脫不了干係。
從程序員到項目經理可以使得項目經理更好地理解程序員在項目中的地位和作用,了解軟體開發的各種規律性的東西,從而保證項目的正常完成。
而且,項目經理的收入在公司中的地位也是比較高的。因此,我認為走向項目經理是程序員的另一個發展空間。
我想提醒一下,程序員在擔任項目經理之前最好要把軟體設計工作做好,這樣在做項目經理的時候,就會有很好的基礎。
3、 管理者
很多程序員希望自己能成為公司中的主管、經理、老總、老闆,這樣無論是收入和在公司的地位都相對比較高一些。另外,一方面程序員可能厭倦了年復一年的編程工作,對工作產生了抵觸情緒,希望能擺脫這種步步緊逼的工作狀態。
走向管理者其實要求程序員要比一般人做更多的准備,要做更多的轉型工作,並不是想當管理者 就能成為管理者的。但是,如果程序員有這個志向和愛好,有積累了這方面的工作經驗,自己也感覺在這個方面能夠發展,更重要的是有這樣的機會,走向管理者也 是可能的。
由於軟體公司的管理者畢竟不同於一般公司的管理者,專業能力越強,管理起來就越得心應手的,沒有專業能力的管理,遇到的問題很多,也很難解決。
因此,我的建議程序員最好要把編程、項目設計、項目管理等基礎打打好,這樣轉型到管理者成功率就會高一些。
4、 軟體營銷
我一直說,程序員最大的缺點之一,就是眼光只盯在技術上,在入門階段和成長階段,這種情況還是屬於正常的。但是,到了成熟階段這種缺點將會嚴重影響程序員的發展。
程序員在工作中不免會接觸到用戶,不免會了解到用戶的需求。從而了解到軟體實際發揮的作用,進而了解了自身的工作價值所在。有的程序員則固步自封,不願意和外界打交道,從內心裡堅守技術底線。而有的程序員則喜歡和外人交流,喜歡把自己的軟體推薦給用戶,而且用戶也樂意接受這種專業的介紹,用戶的接受是程序員價值的直接實現,程序員因此獲得了工作成就感。
這類的程序員可以將自己的專業知識和產品營銷結合在一起,推動軟體的銷售和服務,轉向軟體營銷職業。這個職業將是一個比程序員更有發展的職業,它可以直接反應程序員的工作能力和工作成果,程序員的收入和銷售會直接掛鉤。
因此,可以讓有銷售才華的程序員獲得更高的收入,接觸到更大的軟體市場,看到更廣的個人發展空間。
5、 原地發展
當然也有一些程序員惰性比較大,滿足於現狀,享受著眼前的勝利果實,這也無可非議。對待這些程序員,我們不要強求他們改變自己的想法,我建議是原地發展,把本職工作做得更好,把自己的技術水平往上再提高一步。
在這個過程中他們的能力和自信心都會得到提高,他們的想法不會一直一成不變的。磨刀不誤砍柴功,刀快了自然會去砍柴的。
不管做哪一行,都該盡早做好職業規劃,人都是需要有一個目標去激勵自己,Java程序員更是如此。朝著一個目標逐步提升自身實力總會比原地打轉好,相信聰明的你該知道怎麼做。
C. JAVA語言的歷史
Java從1995誕生至今,只有10年左右了,和C,C++這些老大哥比起來年輕了很多,哲學上說任何事物的產生都是必然的,Java也不例外了,Internet的迅猛發展導致了Java的迅猛發展,那句成語是怎麼說來著,水漲船高,Java自然成為網路世界最受歡迎的語言了,當然Java的發展另一方面也是長期在微軟壓迫下的軟體世界的反抗了,McNealy,Sun的CEO、總裁兼董事長。他曾經狂傲的說:「摧毀微軟是我們每個人的任務。」這位英勇的矽谷英雄,似乎帶頭起義,試圖組織一個反微軟陣線聯盟,以對抗微軟這股龐大的托拉斯惡勢力。他時常口出驚人之語,在公開場合大肆的批評微軟,並曾經說微軟的.NET是.NOT;
1.Java的產生
Java來自於Sun公司的一個叫Green的項目, 其原先的目的是為家用消費電 子產品開發一個分布式代碼系統, 這樣我們可以把E-mail發給電冰箱、 電視機等家用電器, 對它們進行控制, 和它們進行信息交流。開始, 准備採用C++,但C++太 復雜, 安全性差, 最後基於C++開發一種新的語言Oak(Java的前身), Oak是一種用於網路的 精巧而安全的語言, Sun公司曾依此投標一個互動式電視項目, 但結果是被SGI打敗。 可憐的Oak幾乎無家可歸, 恰巧這時Mark Ardreesen開發的Mosaic和Netscape啟發了Oak項 目組成員, 他們用Java編制了HotJava瀏覽器, 得到了Sun公司首席執行官Scott McNealy的 支持, 觸發了Java進軍Internet。 Java的取名也有一些趣聞, 有一天, 幾位Java成員組的 會員正在討論給這個新的語言取什麼名字, 當時他們正在咖啡館喝著Java(爪哇)咖啡,有一 個人靈機一動說就叫Java怎樣, 得到了其他人的贊賞, 於是, Java這個名字就這樣傳開了 。
2.Java的歷史:1995年5月23日,Java語言誕生
1996年1月,第一個JDK-JDK1.0誕生
1996年4月,10個最主要的操作系統供應商申明將在其產品中嵌入JAVA技術
1996年9月,約8.3萬個網頁應用了JAVA技術來製作
1997年2月18日,JDK1.1發布
1997年4月2日,JavaOne會議召開,參與者逾一萬人,創當時全球同類會議規模之紀錄
1997年9月,JavaDeveloperConnection社區成員超過十萬
1998年2月,JDK1.1被下載超過2,000,000次
1998年12月8日,JAVA2企業平台J2EE發布
1999年6月,SUN公司發布Java的三個版本:標准版、企業版和微型版(J2SE、J2EE、J2ME)
2000年5月8日,JDK1.3發布
2000年5月29日,JDK1.4發布
2001年6月5日,NOKIA宣布,到2003年將出售1億部支持Java的手機
2001年9月24日,J2EE1.3發布
2002年2月26日,J2SE1.4發布,自此Java的計算能力有了大幅提升
2004年9月30日18:00PM,J2SE1.5發布,是Java語言的發展史上的又一里程碑事件。為了表示這個版本的重要性,J2SE1.5更名為J2SE5.0 題外話:1.微軟與Sun的糾紛Java誕生的1995年,正是微軟在軟體產業地位達到巔峰的時代,Windows 95發布時的風光場面給人們留下的深刻印象至今難忘。盡管如此,作為最卓越的技術領袖,比爾?蓋茨仍然敏銳地注意到Java。當他了解了Java的一些細節之後,給予了這樣的評價:「Java是很長時間以來最優秀的程序設計語言。」基於此,微軟於1996年3月申請並獲得了Java許可證。微軟對於Java的這一熱情態度在當時大大提高了人們對Java的興趣和信心,但也有不少人擔心微軟會依靠自己強大的影響力在標准之外另立標准,從而破壞Java的純潔性。
果然,從1997年發布Visual J++的第一個版本開始,微軟就開始在Java中摻入自己的私有擴展。這毫無疑問引起Sun的高度重視。1997年10月,Sun向美國加州地方法院起訴微軟公司違反兩公司就微軟使用Java技術所簽定的合同,指控微軟公司在自己的Java產品中做了「不恰當的修改」,違反了合同中承諾向用戶提供Java兼容產品的條款。這一官司曠日持久,直到2001年1月雙方達成和解,微軟將繼續提供採用Sun開發的Java技術的現有產品(包括測試版)。不過,Sun有限制地僅對包括Java 1.1.4的微軟產品提供許可。到了2001年7月,微軟公布新版的Windows XP將不再支持Sun的JVM,並且推出了.NET平台與Java分庭抗禮。
現在回過頭去看,當時的這一場官司對Java世界產生了深遠的影響。如果沒有這一場官司,也許很多Java程序員都在使用Visual J++,基於WFC開發Windows客戶端程序,同時不得不面對被兩個不同的事實標准所分裂的Java世界,/*個人評論,請勿引用個人看來微軟果然老奸巨猾,產品不怎麼樣,但是打擊對手的本領卻是一般的公司難以做到的,VJ++這一招厲害,讓原來的很多Java程序員改行用C#了,真他媽厲害,這一點上真的很佩服,比爾也不是圖有虛名的,一個字:牛!!微軟當然知道自己理虧嘛,結果肯定賠點錢了事,不過目的已經達到,賠點錢無所謂,反正有的是錢嘛,*/2003年4月2 日,Sun與微軟達成16億美元的法律和解。如果不是晚了一天,許多人會以為這是一個在4月1日愚人節開的玩笑。盡管當時所有人都像是看到「太陽從西邊出來了」那樣張大了嘴巴,但這的確是事實。
根據兩家公司達成的版權協議,雙方會為採用對方的技術而支付專利費用,微軟向Sun提前支付3.5億美元使用費,Sun則承諾,如果Sun集成微軟的某些技術,也會向微軟付款。
毫無疑問,「私下了結」的方式對雙方而言都是最好的結果。就在協議簽署的當天,在美國舊金山由Sun和微軟為「拋棄十年恩怨、攜手合作「舉行的新聞發布會上,盡管比爾.蓋茨沒有到場,但這並沒有防礙現場看起來異常輕松的氣氛。麥克尼利和鮑爾默各自穿了一件密歇根州底特律「Red Wings」曲棍球隊的運動服,並談及了一起在哈佛大學讀書的經歷,麥克尼利還說:「當時我們兩人是非常要好的朋友,當然我們也有吵架的時候。」人與人當然可能成為終生的知己,但是公司與公司之間有的只能是利益上的分分合合。 2.James Gosling
Java之父(不怎麼喜歡這樣的稱呼,老土,不過人比較猥瑣吧,呵呵,大師都比較猥瑣吧); 作為Java之父,James Gosling的名字可謂是耳熟能詳。當人們評論一種編程語言時,總喜歡捎帶著把下蛋的母雞一起帶上。Java做為中國的編程語言學習者餐桌上有限的那麼幾樣餐點中的流行款式,自然是讓James Gosling風光不已。雖然James Gosling現在已經不是領導Java發展潮流的領軍人物了,做為Sun的開發者產品組的CTO,怎麼算來也是身居高位了,俗事纏身吧,但是這並不妨礙其對於Java一如既往的愛護,表達著各式各樣鮮明的觀點,引發一場又一場的爭論。
James Gosling是很愛Java的——是啊,哪有當父母的不愛自己的孩子的呢。James Gosling也是很愛Sun的——是啊,哪有當領導的不愛自己的公司的呢。於是我們在批評.NET的安全性的隊伍前頭,在褒揚Java性能的隊伍前頭,在抨擊SWT開倒車的隊伍前頭,在給NetBeans大唱贊歌的隊伍前頭,我們都看到了James Gosling的身影。無論對錯、偏見或者固執,至少說明了Gosling的鮮明個性絲毫沒有受到年齡的影響。也許也只有這種天才而偏執的人物才能創造出Java這般偉大的語言來吧 本文來自CSDN博客,出處: http://blog.csdn.net/cpp_java_man/archive/2006/05/02/705319.aspx