隨筆 - 50  文章 - 0  trackbacks - 0
          <2025年6月>
          25262728293031
          1234567
          891011121314
          15161718192021
          22232425262728
          293012345

          常用鏈接

          留言簿(1)

          隨筆檔案

          文章檔案

          相冊

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

            <一>   你不會有那美麗的相逢,除非之前,你能忍受等待的孤獨.   你不會有那明朗的清晨,除非之前,你的睡夢能忍受黑夜的迷霧。   你也不會贏得任何東西,除非你敢于投下賭注.   賭注,生命的賭注,就是你的腳步!   但是你不會找到路,除非你敢于迷路.   因為,只有讓你迷路的地方,才是你真正的出路!               <二>   有多少次此刻的離別,就有多少次彼時的相逢.   有多少次此刻的酒醉,就有多少次彼時的痛醒.    ... [閱讀全文]

          已有 0 人發表留言,猛擊->>這里<<-參與討論


          JavaEye推薦



          posted @ 2008-04-27 08:07 justjavac(迷渡) 閱讀(79) | 評論 (0)編輯 收藏
          一、引子 ???????? 話說十年前,有一個暴發戶,他家有三輛汽車——Benz奔馳、Bmw寶馬、Audi奧迪,還雇了司機為他開車。不過,暴發戶坐車時總是怪怪的:上Benz 車后跟司機說“開奔馳車!”,坐上Bmw后他說“開寶馬車!”,坐上Audi說“開奧迪車!”。你一定說:這人有病!直接說開車不就行了?! ???????? 而當把這個暴發戶的行為放到我們程序設計中來時,會發現這是一個普遍存在的現象。幸運的是,這種有病的現象在OO(面向對象)語言中可以避免了。下面就以 Java語言為基礎來引入我們本 ... [閱讀全文]

          已有 3 人發表留言,猛擊->>這里<<-參與討論


          JavaEye推薦



          posted @ 2008-04-09 20:43 justjavac(迷渡) 閱讀(68) | 評論 (0)編輯 收藏
          寫道??? 一只壁虎迷了路,這時正好有一條大鱷魚遠遠地爬了過來,準備要一口吃掉它,情急之下,小壁虎上前一把抱住了鱷魚的腿,大聲喊:"媽媽!"大鱷魚一愣,立即老淚縱橫:"兒啊,才做半個月程序員,咋就瘦成這樣了........ [閱讀全文]

          已有 3 人發表留言,猛擊->>這里<<-參與討論


          JavaEye推薦



          posted @ 2008-04-05 07:27 justjavac(迷渡) 閱讀(50) | 評論 (0)編輯 收藏

          網站: JavaEye  作者: justjavac  鏈接:http://justjavac.javaeye.com/blog/169718  發表時間: 2008年03月10日

          聲明:本文系JavaEye網站發布的原創博客文章,未經作者書面許可,嚴禁任何網站轉載本文,否則必將追究法律責任!

          菲利普·卡茲
            2000年4月14日,在美國威斯康星州密爾沃基的一家汽車旅館里,人們發現了一具年輕人的尸體,檢查得知這個人的死因是酗酒、飲酒過量導致的死亡。死者被發現的時候,手中還握著一個空酒瓶,房間中還有五個空酒瓶。這樣一個酒徒的死也許在平時只是地方小報上的一條不起眼的新聞,但這個人的死卻在互聯網上掀起了軒然大波。無數人在網上發表評論與文章,紀念他的離開,寄托人們的哀思,因為他不是一個普通人,他叫菲利普·卡茲(Philip Katz),幾乎全世界的每一臺個人電腦上都有用他創造的壓縮算法生成的文檔,這種文檔的后綴是“.zip”,這些文檔的的開頭都嵌有他姓名的字頭縮寫字母‘PK’。這位在全世界的電腦中留下痕跡的天才程序員終年僅37歲。
            在DOS時代就開始使用電腦的玩家可能都會記得,那時候的處理器速度與存儲介質的容量與現在相比簡直不可同日而語,為了COPY(拷貝)一個游戲我們常常要更換數張軟盤。從那個時候起,我們認識了ZIP文件,在沒有Windows的年代,使用字符界面和命令行方式壓縮的程序主要有PKZIP和ARJ兩種,直到過渡到Windows時代,WinZip的出現才使壓縮軟件的規格得到了統一。互聯網上無數的文件都以“.zip”的格式進行存儲,壓縮文件使用戶能在最短的時間里將文件從網上下載回自己的硬盤中,在沒有寬帶,連MODEM都僅僅是14.4K的速率的那個年代,ZIP文件為我們節省了大量的寶貴時間與金錢。但很少有人知道ZIP文件的由來,很少知道它的創造者菲利普·卡茲。
            在14年前,也就是公元1988年,那時候互聯網還剛剛開始有了雛形,而最流行的是一種使用電話線撥號登陸別人在家里搭建的服務平臺——交換信息的電子公告牌(BBS)系統。這種系統有些類似現在的論壇和新聞組,由于站長之間互相轉信也成為了一個龐大的信息網絡(惠多網)。老一點的玩家可能都有印象,在沒有Internet的年代,中國大地上也曾有幾十個這樣的BBS存在,著名的字處理軟件WPS的作者求伯君和CCED的作者朱崇君當年都是非常有名的個人站長。這種方式不但可以傳遞文本信息,也可以由用戶上傳文件到站點的計算機以供其他用戶下載。由于電話線的接入速度慢的可憐,通過BBS傳輸較大文件實在是叫人痛苦的一件事。于是,使用文件壓縮技術減小文件的體積并將多個文件壓縮到一個封包中就成為了BBS用戶的一項必須掌握的技巧。當時的美國BBS 上,比較流行的是一種叫做ARC的壓縮技術,由于它是一家商業公司開發的壓縮技術,使用這種軟件進行工作是需要付費的。那時候的菲利普·卡茲是一個沉迷于 BBS上的毛頭小伙,由于經常混跡于BBS上,對于ARC的收費非常不滿的他自己開發了一個程序叫PKARC,這個程序于ARC完全兼容,可以壓縮和解壓縮ARC文件。這樣一來,大批的ARC用戶自然轉而使用菲利普·卡茲的免費軟件。ARC的制作公司一怒之下將菲利普·卡茲告上了法庭,法庭自然判決菲利普 ·卡茲禁止繼續開發和傳播PKARC。這種判決并沒有磨滅菲利普·卡茲的斗志,而是激起了他要與ARC斗爭到底的決心。在虛擬的世界中,自由、平等永遠是真正的程序員永久的追求。他放棄了PKARC的開發,發誓要寫出一款比ARC更好的壓縮軟件來打敗ARC。這一場官司造就了一名編程天才的橫空出世,也造就了一個后來在互聯網時代的文件標準。幾周以后,后來統治整個BBS世界乃至Internet世界的ZIP在菲利普·卡茲手中發出了第一聲響亮的啼哭!
          不名則已,一鳴驚人,這種名為PKZIP的程序可以將一個或多個文件壓縮到一個后綴為“.zip”的文件中,無論從壓縮比、壓縮速度方面都超過了商業軟件 ARC??ㄆ潓KZIP作為自由軟件免費發放,使其如同草原上的星星之火般在全美的各大BBS上蔓延開來,用戶以幾何級數的增長,各大BBS的站長自發將原來使用ARC格式壓縮的文件轉換成ZIP格式,卡茲用他天才的頭腦和頑強的毅力堂堂正正的擊敗了ARC,ARC的制作公司在PKZIP的強大攻勢下很快就消聲匿跡了。用自由軟件打敗商業公司的傳奇故事很快傳遍了整個BBS世界,疾惡如仇而又身手不凡的菲利普·卡茲如同數字世界的大俠般仗劍江湖,劫富濟貧,以一人之力擎起了壓縮軟件的大旗。這段被人們津津樂道的傳奇故事使菲利普·卡茲成為了很多熱衷于編程的年輕人心中的偶像。此后卡茲一直繼續著對 PKZIP的開發和維護工作,PKZIP建立和統治了DOS時代的壓縮標準。直到Windows的誕生,使用卡茲創造的壓縮算法的軟件Winzip的出現更使ZIP格式成為Internet的傳輸標準,ZIP壓縮格式也成為壓縮文檔的事實標準。試問當今的電腦用戶,誰敢說自己的電腦中沒有ZIP文件?
          可惜,這位天才程序員卻從未在ZIP身上得到半點好處,堅持信念的結果往往是潦倒的生活,糟糕的個人生活和長期編寫軟件的巨大壓力使卡茲染上了酗酒的惡習,最終斷送了他那年輕的生命。他為世界貢獻了一個偉大的免費軟件,更為重要的是他締造了一種大眾化的壓縮格式,然而卻過早地離開了這個世界。他的名字也許多年后會被人們忘懷,但他創造的ZIP將在網上生生不息的流傳,他的名字縮寫嵌在了全世界數以千萬的電腦中,他的傳奇故事將永遠流傳……

           


          本文的討論也很精彩,瀏覽討論>>


          JavaEye推薦
          中國領先的電子商務網站-淘寶網招賢納士,誠聘Java工程師



          文章來源:http://justjavac.javaeye.com/blog/169718
          posted @ 2008-03-15 10:04 justjavac(迷渡) 閱讀(758) | 評論 (0)編輯 收藏

          網站: JavaEye  作者: justjavac  鏈接:http://justjavac.javaeye.com/blog/169737  發表時間: 2008年03月10日

          聲明:本文系JavaEye網站發布的原創博客文章,未經作者書面許可,嚴禁任何網站轉載本文,否則必將追究法律責任!

          1.公元1998年在我讀高二那年,那還是我用Windows 98的時候有次我系統崩潰了,
          因為我那時還是個電腦白癡,我同學幫我介紹了一個電腦高手來幫我修電腦。

          他看了一下電腦,問我有沒有Windows 98 的光盤?,我說沒有。

          他想了一下,叫我把家里電話拿給他,我心里想說修電腦要電話干什么?

          但人家是電腦高手,我也不好意思說什么,就把電話拔下來給他了。

          他把 電話線空著的一頭接在主機版的一個插孔內 ,然后進入了 DOS ,

          然后就開始在電話上不停的按著鍵,他按鍵的速度非常快,但是他都只按電話的0,1兩個鍵。

          我搞不懂這有什么用?但也不敢問,看了半個多小時,他還是不停的按這兩個鍵,

          我漸漸的有些困,我問他這東西要搞多久?他說還要幾個小時,我給他倒了杯咖啡,

          就一個人去隔壁書房睡覺了。

          醒來的時候,一看已經過了5個多小時,我起身到隔壁,看見他正在 Windows 98 里面調試,

          過了一會兒,他說,你試試,我坐上椅子用了一下,真的好了,我當時也不懂電腦,

          謝過人家就走了。

          后來我慢慢對電腦有了一些概念才了解到,

          原來當時那位電腦高手是使用機器語言 編了一個Windows 98系統

          從我給他的電話直接輸入到硬盤,

          我后來問我同學那位高手的下落,我同學說前幾年去了 美國 之后,杳無音訊....

          2.公元2000年在我讀大一那年,那還是我用Windows Me的時候有次我系統崩潰了,
          因為我那時還是個電腦入門,我朋友幫我介紹了一個電腦高手來幫我修電腦。
            
          他看了一下電腦,問我有沒有Windows Me 的安裝盤?我說沒有。
            
          他想了一下,叫我把一張 空的DVD刻錄盤和一根奈米細針 拿給他,

          我心里想說修電腦要刻錄盤和奈米細針干什么?但人家是電腦高手,我也不好意思說什么,

          於是我就把DVD刻錄盤拿一張來給他了。
            
          他把奈米細針頭對著刻錄盤戳,他戳的速度非???,但是只戳深或淺,

          我搞不懂這有什么用?但也不敢問,看了半個多小時,他還是不停的戳著DVD刻錄盤,

          我漸漸的有些困,我問他這東西要搞多久?他說要幾個小時,我給他倒了杯 葡萄酒 ,

          就一個人去隔壁客廳沙發上睡覺了。
            
          醒來的時候,一看已經過了6個多小時,我起身到隔壁,看見他正在 Windows Me 里面調試,

          還裝上了 Office、Photoshop、迅雷、魔獸世界 等軟件……過了一會兒他說,

          你試試,我坐上椅子用了一下,真的好了,我當時也不懂電腦,謝過人家就走了。
            
          后來我慢慢對電腦有了一些基礎,終于明白了,

          原來當時那位電腦高手是用 奈米細針頭刻了一個單面雙層的DVD ,在里面刻上了Windows Me、Office、

          Photoshop、魔獸世界的安裝程序 ,我后來問我朋友那位高手的下落,

          我朋友說前幾年去了 法國 之后,杳無音訊....


          3.公元2001年在我讀大二那年,那還是我用Windows XP的時候有次我不小心把D盤格式化了,
          因為我那時還是個電腦新手,我親戚幫我介紹了一個電腦高手來幫我的電腦D盤恢復數據。
            
          他看了一下電腦,問我有沒有Windows XP備份過的Ghost? 我說沒有。
            
          他想了一下, 叫我把一塊奈米強力磁鐵棒拿給他,還問我D盤里有什么東西?

          我心里想說修電腦要奈米強力磁鐵棒干什么?

          但人家是電腦高手,我也不好意思說什么,就把奈米強力磁鐵棒給他了,

          還告訴他我的D盤里面全是火影忍者的動畫。
            
          他把整顆硬盤拆了,用奈米強力磁鐵棒在盤子上面畫圈圈,他畫圈圈的速度非??欤?

          但是他的奈米強力磁鐵棒好像有碰到又好像沒有碰到,我搞不懂這有什么用?但也不敢問,

          看了半個多小時,他還是不停的在硬盤上畫著圈,我漸漸的有些困,

          我問他這東西要搞多久?他說要幾個小時,我給他倒了杯 蘇格蘭威士忌 ,

          就一個人去隔壁房間睡覺了。
            
          醒來的時候,一看已經過了7個多小時,我起身到隔壁,看見他正在D盤里面調試,

          里面全是 火影忍者的動畫片 ,過了一會兒,他說,

          你試試,我坐上椅子用了一下,真的好了,我當時也不懂電腦,謝過人家就走了。
            
          后來我慢慢對電腦有了一些體會,終于體悟到,

          原來當時那位電腦高手是 用奈米強力磁鐵棒直接在硬盤上寫數據 ,

          他憑著驚人的記憶力將他曾經看過的火影忍者動畫片數據都寫入了硬盤,我后來問我親戚那位電腦高手的下落,

          我親戚說他前幾年去了 英國 之后,杳無音訊....


          4.就在最近,我剛裝上的Vista突然自己崩潰了
          就在最近,我剛裝上的Vista突然自己崩潰了,雖然我會寫很多程序,但是Vista崩潰了我也沒

          有辦法,我朋友給我介紹了一個高手來幫我修電腦。

          他看了一下電腦,問我有沒有Vista的安裝盤 ,我說沒有。

          他想了一下,叫我拿一根沒用的網線和一把剪刀,我想修電腦要網線和剪刀干什么,但人家

          是高手,我也不好說什么,就拿了一根沒用的網線和一把剪刀 給他。

          他把網線一頭戳到網卡上,剪斷另外一頭,然后就在哪里不停的撥弄那八根線。他撥弄的速

          度非???,但是撥弄得線總是不一樣,我搞不懂這有什么用,但也不敢問,看了半個多小

          時,他還是不停的撥弄著網線。我漸漸的有些困,我問他這東西要搞多久,他說要幾個小

          時,我給他倒了杯 茶 ,就一個人去隔壁睡覺了。

          醒來的時候,一看已經過了4個多小時,我起身到隔壁,看見他正在 Vista 里面調試,還裝給

          裝好了 Visual Studio 2005 Team Suit、Ms SqlServer 2005 Enterprise Edition、BT ,還邊

          下載邊看 American片 ……過了一會兒,他驚覺我站在后面,不好意思地對我說,你試試。我

          坐上椅子用了一下,真的好了,我當時太震驚了,整個人傻在哪里,謝過人家就走了。

          后來我讀到了前面那兩篇文章,終于醒悟,原來當時那位高手是 用網線模擬網絡啟動,下載

          了整個Vista,還有 Visual Studio 2005 Team Suit、Ms SqlServer 2005 Enterprise Edition、

          BT,以及他正在看的 American片 ,我后來問我朋友那位高手的下落,我朋友說前幾年去了

          美國 之后,杳無音訊了十幾年,期間也回過中國兩次,最近這一次回來說,干這個太沒意思

          了,回來收拾收拾準備去 阿爾法半人馬座 ,他說他也聽不懂那高手說什么,只是最近傳聞 微

          軟的Vista 全世界都無法激活,估計跟他的離去有關,當然了,這幾天也是杳無音訊....
          本文的討論也很精彩,瀏覽討論>>


          JavaEye推薦
          中國領先的電子商務網站-淘寶網招賢納士,誠聘Java工程師



          文章來源:http://justjavac.javaeye.com/blog/169737
          posted @ 2008-03-15 10:04 justjavac(迷渡) 閱讀(98) | 評論 (0)編輯 收藏

          網站: JavaEye  作者: justjavac  鏈接:http://justjavac.javaeye.com/blog/170045  發表時間: 2008年03月11日

          聲明:本文系JavaEye網站發布的原創博客文章,未經作者書面許可,嚴禁任何網站轉載本文,否則必將追究法律責任!

          在一家又一家注定要倒閉的dot-com公司工作過之后,一位名叫Bram Cohen的年輕程序員最終厭倦了這種失敗的生活。

            “最終我認為我想做一些人們會實際用到的、有用的并且有趣的項目。”他回憶到。

            3年后,28歲的Cohen成為了下一波互聯網文件共享風潮的掌門人。如果說Napster是文件交換的第一浪,像Kazaa這樣的文件交換網絡則代表了第二浪。那么,由Cohen開發的BitTorrent將會引領文件交換的第三浪——目前BitTorrent實際的用戶難以估量,但是BitTorrent這個軟件至少被下載了超過1000萬次。

            在早期形式的文件交換網絡被唱片業窮追猛打以致步向衰落的同時,像BitTorrent這樣的新技術的出現,使得用于視頻的大文件的共享和分發變得更加容易。例如,光是suprnova.org這樣的一個網站,就能提供上百套電視節目、最新電影以及版權軟件。這甚至令到一向在打擊互聯網文件交換中不太積極的電影工業也開始提高警惕。

            然而,Cohen對他所創造的這個系統早已經失去了控制。他表示,當他開發這個系統的時候,大規模的侵犯版權問題是他沒有想到的。相反,他開發這個系統的初衷,是為了使人們在購買合法在線音樂時,不需要再經歷那漫長的等待。“很明顯,他們的問題在于沒有足夠的帶寬來滿足人們的需要。”Cohen在接受采訪時稱,“我很清楚,實際上有很多的帶寬擺在那里,但是它沒有被恰當的使用。還有許多上傳容量是人們沒用到的。”

            這就是BitTorrent背后的本質。在像Napster和Kazaa這樣舊有的文件共享系統下,實際上只有一小部分人把文件向世人分享,大部分用戶都只是簡單地下載。然而BitTorrent則使用了所謂的Golden Rule原理:你上傳的速度越快,你下載的速度就越快。BitTorrent把文件分割成許多小塊,當一個用戶下載了某一小塊時,它就會立即把這一小塊上傳給其它用戶。因此,所有的用戶在下載的同時,也在把自己已下載部分上傳給他人。BitTorrent的這種工作原理,使得做“種子”的用戶只需少許帶寬,就可以把大文件共享給大量的下載者。

            BitTorrent對于Cohen來說,一直是一種腦力訓練而不是一種賺錢的途徑。不像其它文件交換程序,BitTorrent不但是免費的,而且還是開源的。這意味著只要有足夠能力,你完全可以把BitTorrent融入到你自己的程序里面。

            BitTorrent的第一個可用版本出現在2002年10月,不過這個版本還有許多要改進的地方。然而,Cohen此時卻在為生計發愁。幸運的是,BitTorrent引起了著名免費軟件企業家John Gilmore的注意。Gilmore幫助Cohen解決了部分的生活費用,使得BitTorrent免遭夭折。

            BitTorrent真正流行起來是在2003年初,它被用來發布一個新版的Linux。與此同時,還有一些日本卡通的fans憑籍它來共享動畫片。

            很難衡量BitTorrent的總體使用情況。但是Internet2主干網基礎構造的主管Steven C. Corbato表示,他在去年5月份開始就注意到,BitTorrent的流量開始激增。從10月份開始,BitTorrent的流量更是超過了這個超高速網絡總體流量的10%。與之對比,其它的文件交換系統的流量沒有一個能超過Internet2總體流量的1%。Internet2又稱Abilene主干,它連接起了美國200多所規模最大的大學,速度比現時的ADSL要快3500多倍。

            盡管BitTorrent獲得了如此巨大的成功,然而直到幾個月前,它并沒有為Cohen帶來過一分錢。“去年9月份我沒有一丁點錢,”Cohen回憶到,他當時只好利用這張信用卡的免息期來透支,填補另一張信用卡的帳單來過活。

            Cohen那時并不知道,BitTorrent會為他帶來一份工作。某天,他的事情為Valve軟件公司的常務董事Gabe Newell所獲悉。盡管Valve正在開發令游戲玩家望眼欲穿的Half-Life 2,但是它同時也在建立一個名為Steam的在線分發網絡。由于Cohen掌握這個領域的專門技術,所以Valve為他提供了一個職位。Cohen從十月份起搬到西雅圖,開始了他的工作。

            一直以來,Cohen都有通過他的網站bitconjurer.org來接受BitTorrent用戶的捐款,但是這筆金額一直很少。然而從10月份開始,Cohen父親鼓勵他請求的更直接一點。如今,Cohen稱,他每天都能收到上百美元的捐款。

            “在過去的幾個月,我的生活方式發生了相當戲劇性的變化,獲得工作還有捐款的到來,”Cohen說,“這好極了。”

            根據Pew Internet和American Life Project的調查數據顯示,文件交換正在衰落,這顯然是唱片業起訴運動的結果。在去年5月,29%美國的成年互聯網用戶表示他們參與了文件交換。而到了11月和12月份,這個數字已經跌到了14%。但是,BitTorrent的忠實用戶——無論是卡通狂熱愛好者、Linux用戶、盜版電影的觀賞者——似乎在不斷增加。

            BitTorrent的用戶中有不少人對Cohen心懷感激,但是毫不奇怪,電影工業的圈內人不在此列。“BitTorrent決對是處在我們的雷達防線以內。”美國電影協會的主管Tom Temple在一次電話訪問中表示。BitTorrent的迅猛普及,促使該協會開始向BitTorrent站點的管理人發出了侵權通知。

            “我們正在調查大量的BitTorrent鏈接網站,在不久的將來我們可能會向某些站點提出民事或刑事起訴。”Temple稱。

            對此,Cohen指出,BitTorrent的用戶是非匿名的,他們的互聯網IP地址很容易就能被看到。“這令我很吃驚,像Suprnova這樣的網站竟然能夠繼續生存,因為他們很容易就會被起訴。”Cohen稱。Cohen還補充說,使用BitTorrent來進行非法交易,是“很愚蠢的,因為它不是匿名的。而且由于基層結構的關系,它也不能被改成匿名的。

            這就是說,Cohen并不支持許多BitTorrent站點的做法。

            “我不打算拿出傲慢的態度,告訴其它人不該怎么做,因為斥責他人的事情與我無關。”他說,“我是以那種找樂子的心態來看待這件事的。”
          本文的討論也很精彩,瀏覽討論>>


          JavaEye推薦
          中國領先的電子商務網站-淘寶網招賢納士,誠聘Java工程師



          文章來源:http://justjavac.javaeye.com/blog/170045
          posted @ 2008-03-15 10:04 justjavac(迷渡) 閱讀(78) | 評論 (0)編輯 收藏

          網站: JavaEye  作者: justjavac  鏈接:http://justjavac.javaeye.com/blog/170048  發表時間: 2008年03月11日

          聲明:本文系JavaEye網站發布的原創博客文章,未經作者書面許可,嚴禁任何網站轉載本文,否則必將追究法律責任!

          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工作了。
          本文的討論也很精彩,瀏覽討論>>


          JavaEye推薦
          中國領先的電子商務網站-淘寶網招賢納士,誠聘Java工程師



          文章來源:http://justjavac.javaeye.com/blog/170048
          posted @ 2008-03-15 10:04 justjavac(迷渡) 閱讀(128) | 評論 (0)編輯 收藏

          網站: JavaEye  作者: justjavac  鏈接:http://justjavac.javaeye.com/blog/170051  發表時間: 2008年03月11日

          聲明:本文系JavaEye網站發布的原創博客文章,未經作者書面許可,嚴禁任何網站轉載本文,否則必將追究法律責任!

          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 次。而他認為我太過樂觀了?!?

            James Gosling現在是Sun公司的副總裁和合伙人。
          本文的討論也很精彩,瀏覽討論>>


          JavaEye推薦
          中國領先的電子商務網站-淘寶網招賢納士,誠聘Java工程師



          文章來源:http://justjavac.javaeye.com/blog/170051
          posted @ 2008-03-15 10:04 justjavac(迷渡) 閱讀(89) | 評論 (0)編輯 收藏

          網站: JavaEye  作者: justjavac  鏈接:http://justjavac.javaeye.com/blog/170052  發表時間: 2008年03月11日

          聲明:本文系JavaEye網站發布的原創博客文章,未經作者書面許可,嚴禁任何網站轉載本文,否則必將追究法律責任!

          凡是學過一點計算機知識的人大概都知道“數據結構十算法= 程序”這一著名公式。提出這一公式并以此作為其一本專著的書名的瑞士計算機科學家尼克勞斯·沃思(Niklaus Wirth)由于發明了多種影響深遠的程序設計語言,并提出結構化程序設計這一革命性概念而獲得了1984年的圖靈獎。他是至今惟一獲此殊榮的瑞士學者。

            沃思1934年2月15日生于瑞士北部離蘇黎世不遠的溫特圖爾(Winterthur),其父瓦爾特是一位地理學教授。沃思小時就喜歡動手動腦,組裝飛機模型是他的最大愛好。中學畢業以后,沃思進入在歐洲甚至全世界都很有名氣的蘇黎世工學院(ETH),1958年取得學士學位。之后他遠渡大西洋到加拿大的萊維大學深造(Laval是和加拿大名城魁北克隔圣勞倫斯河相望的一座城市),于1960年取得碩士學位。之后他又一次遷移,到美國加利福尼亞,進入加州大學伯克利分校,于1963年獲得博士學位。

            學成以后,沃思受聘到斯坦福大學剛剛成立的計算機科學系工作。著名的斯坦福大學門檻極高,怎么會看中了這個來自歐洲小國的毛頭小伙子呢?原來在20世紀50年代末、60年代初的情況下,沃思的計算機經驗和成就相當引人注目:在蘇黎世工學院時,他曾聽過瑞士的計算機先驅斯帕塞(A.P.Speiser,他曾出任IFIP的主席)的課,用過由斯帕塞開發的計算機ERMETH(雖然作為學生,機會并不多);在萊維大學時,沃思學了數值分析,用過 Alvac III E計算機(雖然這臺計算機經常出故障而不能開機);在伯克利時,沃思先是有一臺Bendix G-15計算機可用,后來又參加了為IBM 704開發 NELIAC語言編譯程序器的科研小組。 NELIAC的全稱是 Navy Electronics Laboratory International Algol Compiler,即美國海軍電子學實驗室國際 Algol編譯程序語言,該語言用于數值計算和一些邏輯處理,其特點是用自己的語言寫自己的編譯程序,然后進行自編譯,是一個類似于 Aled 58但具有開創性意義的語言。沃思在撰寫博士論文時,Algol 60報告已經發表。 這是第一個清晰定義的語言,其語法是用嚴格公式化的方法說明的。當時已有一些學者認識到,清晰的規格說明對于可靠而有效的實現是必需的,但是并不充分:Aled 60報告中還存在一些缺陷和不足。

            沃思在和 Algol的設計者之一、荷蘭人范·維京格爾藤(Andrian van Wijingaarden,他曾任阿姆斯特丹數學中心計算部主任,在開發Algol 68中提出了二級文法,又叫w文法以解決上下文有關這一難題。他曾啟發1972年圖靈獎獲得者狄克斯特拉走上計算機科學之路)多次接觸和討論以后,決定對 Algol 60作進一步改進,并以此作為自己的博士論文課題。這就誕生了由沃思所設計的第一個語言——Euler。Euler雖然在實用性上考慮并不十分周到,但在學術上卻非常優美,為編譯器的系統設計創造了一個很好的基礎。此外,它還對 Algo 60進行了若干擴充,主要是增加了表處理能力。正是由于以上原因,斯坦福大學看中了沃思。與此同時,IFIP也注意到了Euler語言,決定吸收沃思參加對Algol語言進行完善與擴充的工作小組。當時,這個小組中有兩派,一派主張設計一個新語言,以便樹立一個新的里程碑;另一派則覺得時間太緊,主張對 Algo 60進行適當擴充。沃思參加進去以后,自稱同時屬于這兩派,并提交了一份建議書。這份建議書經過霍爾(Tony Hoars)等人的修改、完善以后獲得通過,這就是Aigol W(W是沃思名字的首字母)。

            第二年,也就是1966年,Algol W在斯坦福大學的第一臺 IBM 360上成功實現并正式應用。這中間還有一個小插曲:IBM 360當時只提供匯編語言和 FORTRAN語言,但沃思和他的學生都覺得這兩者并不適宜于作為設計編譯器的工具。于是,沃思用了兩個星期時間寫出了一個用來描寫Algol編譯器的新的語言的定義,然后用了4個月時間在寶來公司的B-5000計算機上完成了交叉編譯程序,而沃思的一個學生則把這個交叉編譯程序移植到 IBM 360上去。這些額外的工作極大地加快了 Algol W編譯器的開發,同時催生了一個新的語言 PL 360。 PL 360雖然是作為輔助工具而設計、開發的,但后來卻在許多地方獲得應用,取得了意想不到的成功。

            Algol W及 PL 360奠定了沃思作為世界級程序設計語言大師的地位,一舉成名。但沃思是一個具有強烈愛國心的人,成名后的他謝絕了斯坦福大學的挽留,于1967年回到祖國,先在蘇黎世大學任職,但第二年就回到他的母校蘇黎世工學院。在這里,他首先設計與實現了 PASCAL語言(Philips Automatic Sequence CAlculator Language的縮寫),這是在 CDC 6600上開發成功的。 PASCAL在數據結構和過程控制結構方面都有很多創造。對于前者,除一般的整型、實型、布爾型數據外,PASCAL還增加了字符型、子域類型、記錄結構類型、文件類型、集合類型和指針類型;對于后者,除保留了無條件轉移的GOTO語句外,又增加了if-then-else、case、while、repeat和for等多種控制結構,還允許復合語句和處理記錄變量的分量使用with語句這種編寫形式??梢哉f,現代程序設計語言中常用的數據結構和控制結構絕大多數都是由PASCAL語言奠定基礎的,因此它在程序設計語言的發展史上具有承上啟下的重要里程碑意義。

            說來有趣,沃思開發PASCAL的初衷是為了有一個適合于教學的語言,并沒有想到商業應用。但一經推出,由于它的簡潔明了,它所提供的豐富的數據結構和控制結構為程序員提供了極大的方便與靈活性,也由于它特別適合于由微處理器所組成的計算機系統,竟然大受歡迎,廣泛地流傳開來。在C語言問世以前,PASCAL是風靡全球、最受歡迎的語言之一,創下了發行拷貝數最多的世界記錄。單是沃思的一個學生菲力浦·凱恩(Phillipe Kahn),從 ETH畢業以后,在美國加利福尼亞州辦了一個軟件公司,就賣出了100多萬個PASCAL拷貝,成為百萬富翁。

            1971年,沃思基于其開發程序設計語言和編程的實踐經驗,在4月份的 Communications of ACM上發表了論文“通過逐步求精方式開發程序’(Program Development by Stepwise Refinement),首次提出了“結構化程序設計”(structure programming)的概念。這個概念的要點是:不要求一步就編制成可執行的程序,而是分若干步進行,逐步求精。第一步編出的程序抽象度最高,第二步編出的程序抽象度有所降低…… 最后一步編出的程序即為可執行的程序。用這種方法編程,似乎復雜,實際上優點很多,可使程序易讀、易寫、易調試、易維護、易保證其正確性及驗證其正確性。結構化程序設計方法又稱為“自頂向下”或“逐步求精”法,在程序設計領域引發了一場革命,成為程序開發的一個標準方法,尤其是在后來發展起來的軟件工程中獲得廣泛應用。有人評價說沃思的結構化程序設計概念“完全改變了人們對程序設計的思維方式”,這是一點也不夸張的。1983年1月,ACM在紀念 Communications of ACM創刊 25周年時,從其 1/4個世紀發表的大量論文中評選出有“里程碑意義的研究論文” 25篇,每年1篇,沃思的這篇論文就是其中之一。

            PASCAL的成功也罷,結構化程序設計思想的巨大影響也罷,都沒有停止沃思繼續創造性的研究與開發工作。20世紀70年代中期,為適應并發程序設計的需要,沃思又成功開發了一個獲得廣泛應用的語言Modula。M0dula除了提供并發程序設計功能之外,另外一個重要特征是引進了模塊概念(這也是這個語言叫做Modula的原因)。此外,它還引進了“進程”(process)這一和并發程序相聯系而產生的重要概念。Modula語言還特別適合于書寫系統程序。但是,比Modula具有更加重大得多意義的卻是它的第二個版本Modula.2。這是 1976年,沃思再次赴美國,到 Xerox公司的 Palo Alto研究中心參與Alto計算機的設計與開發工作。Alto是世界上第一個具有圖形用戶界面的個人計算機系統(可惜Xerox公司沒有把它商品化,而由Apple公司學去了它的技術而推出 Macintosh)。

            沃思回到瑞士以后,參考Alto的經驗,設計、開發Lilith個人計算機系統。為了和Lilith的體系結構相配合,沃思決定在Modula的基礎上開發新版本,作為整個系統的開發語言。Modula-2與Modula相比,語法更加簡潔,更加強調界面設計,模塊的可重用性更好。它共有3個編譯單元,即程序模塊、定義模塊和實規模塊。在定義模塊(definition module)中,只給出那些和模塊外部交往所必需的信息。例如,對模塊內部的子程序說明而言,在定義模塊中只給出子程序名、參數名及其類型等,而不給出子程序體本身,也就是說,在定義模塊中只給出模塊外部可見的信息。在實規模塊(implementation module)中,則給出那些在模塊外部不可見的信息,例如,在模塊內部定義的子程序說明的子程序體。這樣的安排既提高了可讀性,又有助于分別編譯。M0dula-2在優美性(elegance)和簡潔性(simplicity)兩方面都比Modula更進一步。

            Lilith的操作系統、圖形軟件包、數據庫系統、網絡協議套件、文件服務器等基本系統和大量應用模塊全都是用M0dula-2開發的。目前世界上已經開發了近百個Modula-2的編譯系統,北美和歐洲的許多大學已經用Modula-2代替PASCAL作為計算機系本科生的第一門程序設計課程。Modula-2的標準化工作則早在1984年就已由英國開始進行,ISO則于1987年對它進行標準化,并采用由IBM的維也納實驗室提出的VDM-SL和經過沃思本人加以擴充的BNF(即EBNF,見下)表達語言的語法與語義,在形式化方面達到了一個新的水平。在Lilith項目中,沃思堅持將計算機體系結構、語言、操作環境這三者統一起來考慮,實行集成化、一體化設計的成功經驗是具有革命性的創舉,從而使這個項目在計算機科學史上占有重要地位。

            近年來沃思致力于一個新的計劃,即Oberon計劃。Oberon是將程序設計語言和操作系統結合在一起的、面向單用戶的個人工作站的一個系統。因為沃思認為,在因特網日益普及的情況下,今后聯網的計算機主要將是個人工作站,因此如何使個人工作站功能更加強大、更加方便使用是一個十分重大的課題。沃思把這個計劃取名為Oberon是寓意深長的,因為Oberon是希臘神話中的仙境之王和女神Titania的丈夫。沃思的目標是要使Oberon語言超越PASCAL和Modula,設計出的操作系統和編譯器功能更加強勁。1992年他寫了兩本書向讀者推薦Oberon(見后),可見其對這個計劃的重視。
          本文的討論也很精彩,瀏覽討論>>


          JavaEye推薦
          中國領先的電子商務網站-淘寶網招賢納士,誠聘Java工程師



          文章來源:http://justjavac.javaeye.com/blog/170052
          posted @ 2008-03-15 10:04 justjavac(迷渡) 閱讀(107) | 評論 (0)編輯 收藏

          網站: JavaEye  作者: justjavac  鏈接:http://justjavac.javaeye.com/blog/170054  發表時間: 2008年03月11日

          聲明:本文系JavaEye網站發布的原創博客文章,未經作者書面許可,嚴禁任何網站轉載本文,否則必將追究法律責任!

          除了程序設計語言之外,沃思在其他方面也有許多創造。為了定義和描述語言,沃思對著名的“巴科斯-諾爾范式”BNF進行了擴充,成為EBNF(Extended BNF)。我們目前所看到的許多語言的 BNF實際上是EBNF,不過人們往往忽略掉這個E字。和BNF一起出現的,還常常有一些看上去像鐵路圖那樣的圖形,稱作“語法圖”(syntax chart或 syntax diagram)或“鐵路圖”(railroad diagram),這也是由沃思所設計與發明的,這種圖形標記法的描述能力等價于BNF,但當然更易于閱讀與理解,更加直觀。在語法圖中,用圓圈表示終結符,用方框表示非終結符,用有向弧表示走向,圖上一條通路就表示該語法結構的一種正確定義方法。語法圖的4種基本構造方法如下。

            (1) 若產生式為W→W1W2W3,則語法圖如圖1。

            (2) 若產生式為W→W1W2|W3a|bcW4 ,則語法圖如圖2。

            (3) 若產生式為W→abW,則語法圖如圖3。

            (4) 若產生式為W→ab|abW,則語法圖如圖4。

            對于較復雜的產生式,其語法圖一般可通過上述4種語法圖進行組合而得。

            在對上下文無關文法的研究中,一個很重要的問題是如何確定兩個符號之間的優先關系?,F在一般采用的辦法也是由沃思和他的同事韋伯提出來的,就叫沃思-韋伯優先關系(Wirth- Weber precedence relation),或叫簡單優先關系。它規定上下文無關文法 G中任意兩個符號的優先關系如下。

           ?。?)X<Y,當且僅當有產生式 A→αXBβ,且有推導B+→Yr。

            (2)X=Y,當且僅當有產生式A→αXYβ。

            (3)X> Y,當且僅當有產生式 A→αBYβ,且有推導B+→rX及Y →*aδ。

            其中A、B為非終結符,X、Y為待定優先關系的兩個任意符號,α、β、Υ和δ為由終結符和非終結符組成的任意符號串,可以是空串。a是終結符。

            沃思的學術著作很多,主要有如下幾種,其中一些原版是用德文寫的,翻譯成了英文。

            《系統程序設計導論》( Systematic Programming: An Introduction,Prentice- Hall,1973。其德文版已出至第 5版)

            《算法十數據結構=程序》(Algorithms+ Data Structures= Programs,Prentice-Hall,1976)

            《算法和數據結構》(Algorithms and Data Structures, Prentice - Hall ,1986)

            《Modula-2程序設計》(Programming in M0dula-2,Spring6r,1988,第4版)

            《PASCAL用戶手冊和報告: ISO PASCAL標準》 (PASCAL UserManual and Report: ISO PASCAL Standard, Sprillger, 1991)

            《Oberon計劃:操作系統和編譯器的設計》( Project Oberon:the Design of an Operating System and Compiler,ACM Pr.,1992)

            《Oberon程序設計:超越Pascal和Modula》(Programming in Oberon: Steps beyond Pascal and Modula, ACM Pr,1992)

            《數字電路設計教材》(Digital Circuit Design for Computer Science Students:An Introductory Textbook, Spnnger, 1995)

            《編譯器構造的原理和技術》(Theory and Techniques of Compiler Construction,Addison- Wesley,1996)

            ACM除了1984年授予沃思圖靈獎外,1987年又授予他“計算機科學教育杰出貢獻獎”。另一重要的國際學術組織IEEE也授予過沃思兩個獎項: 1983年的 Emanual Piore獎和 1988年的計算機先驅獎(Computer Pioneer Award)。1992年,加州大學伯利分校命名沃思為“杰出校友”。

            沃思是在1984年10月于舊金山舉行的ACM年會上接受圖靈獎的。沃思發表了題為“從程序設計語言設計到計算機建造”(From Programming Language Design to Computer Construction)的圖靈獎演說,回顧了自己在計算機領域所做的工作。演說全文刊載于Communications of ACM,1985年 2月,159- 164頁,也可見《前 20年的 ACM圖靈獎演說集》(ACM Turing Award Lectures——The First 20 Years:1966-1985,ACM Pr.),179-196頁。沃思在演說中強調了程序設計語言簡 性的重要意義,也討論了它所需的硬件和軟件環境(因為沃思一直很重視語言的實現問題)。他介紹了在設計Modula-2和Lilith中的經驗,指出第一手經驗和選擇良好開發工具的無比價值。

            沃思現仍在蘇黎世工學院任教,他的電子箱為:wirth @ inf.ethz.ch
          本文的討論也很精彩,瀏覽討論>>


          JavaEye推薦
          中國領先的電子商務網站-淘寶網招賢納士,誠聘Java工程師



          文章來源:http://justjavac.javaeye.com/blog/170054
          posted @ 2008-03-15 10:04 justjavac(迷渡) 閱讀(149) | 評論 (0)編輯 收藏
          僅列出標題
          共5頁: 上一頁 1 2 3 4 5 下一頁 
          主站蜘蛛池模板: 高台县| 横峰县| 互助| 阿瓦提县| 万荣县| 措勤县| 阳春市| 通道| 宜州市| 礼泉县| 延吉市| 阿勒泰市| 克什克腾旗| 嘉鱼县| 万宁市| 蒲江县| 嘉祥县| 襄城县| 靖西县| 永嘉县| 辽宁省| 翁牛特旗| 太仓市| 通渭县| 胶南市| 旅游| 罗江县| 泉州市| 灵武市| 宜兴市| 北碚区| 本溪市| 嘉鱼县| 开阳县| 阿克苏市| 夏邑县| 辉县市| 靖西县| 萨嘎县| 门头沟区| 曲沃县|