計(jì)算機(jī)人物傳記(一)_第1頁
計(jì)算機(jī)人物傳記(一)_第2頁
計(jì)算機(jī)人物傳記(一)_第3頁
計(jì)算機(jī)人物傳記(一)_第4頁
計(jì)算機(jī)人物傳記(一)_第5頁
已閱讀5頁,還剩112頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

計(jì)算機(jī)人物傳記(一)

美媒披露世界最早一批女性電腦高手往事

她們60年前開始玩電腦,曾為世界上第一臺(tái)計(jì)算機(jī)編程序,也是世界上第

一批“黑客”,曾為世界第一臺(tái)電子計(jì)算機(jī)ENIAC編寫過程序。

據(jù)美國媒體5日?qǐng)?bào)道,在電腦時(shí)代,許多老年人不甘落后,然而鮮為人知的是,

在美國仍然生活著幾名80多歲的“奶奶級(jí)”電腦高手:她們?cè)诙?zhàn)中幫助軍方

精確地計(jì)算出炮彈發(fā)射軌跡,曾為世界上第一臺(tái)電子計(jì)算機(jī)編寫程序,還是世界

上第一批“黑客”.半個(gè)多世紀(jì)來,人們對(duì)這批“奶奶級(jí)”電腦高手毫無所知,直到日

前,她們的故事才首次浮出水面,并正在被拍成一部名叫《隱形電腦:ENIAC程序

師的故事》的紀(jì)錄片.

紀(jì)錄片制片人(左)和4名“奶奶級(jí)”電腦高手在一起,她們分別是貝蒂(左二)、馬琳

(左三)、凱瑟琳(右一),前排坐著的貝蒂?辛德?霍伯頓目前也已去世.

孫子炫耀牽出傳奇故事

現(xiàn)年83歲的美國新澤西州老太太貝蒂?巴蒂克是5個(gè)孫子的祖母,喜歡上網(wǎng)打

橋牌.然而鮮為人知的是,她其實(shí)是世界上最早的?批女性電腦高手,她曾為世界

上第一臺(tái)計(jì)算機(jī)編過程序.

對(duì)于這一點(diǎn),即使十分熟悉貝蒂的朋友也不知道.不過,貝蒂的孫子亞歷克斯

卻早就知道奶奶的秘密.一天,他在學(xué)校里向老師炫耀說,自己的奶奶是世界上最

早的計(jì)算機(jī)先驅(qū)和電腦高手.當(dāng)時(shí),老師以為小孩子是在吹牛,還狠狠批評(píng)了他一

頓.為了還兒子一個(gè)誠實(shí)的名聲,亞歷克斯的父母親自到學(xué)校向那名教師解釋了一

切.

幫助軍方計(jì)算彈道軌跡

貝蒂的傳奇故事隨即引起了歷史學(xué)家的關(guān)注.

據(jù)悉,貝蒂和計(jì)算機(jī)打上交道可以說是陰差陽錯(cuò).1945年,當(dāng)時(shí)20歲的貝蒂還

是美國密蘇里州西北教師學(xué)院一名數(shù)學(xué)專業(yè)的女大學(xué)生.隨著二戰(zhàn)接近尾聲,美國

陸軍由于缺少男數(shù)學(xué)家計(jì)算彈道發(fā)射軌跡,開始在賓夕法尼亞州大學(xué)發(fā)起了一項(xiàng)

絕密的“阿伯丁試驗(yàn)場(chǎng)”行動(dòng),招募女性成為計(jì)算彈道軌跡的“人體計(jì)算機(jī),,.

貝蒂成功地被美國陸軍錄用,成了一名“軍中數(shù)學(xué)家”,幫助陸軍精確地計(jì)算各種武

器的彈道軌線.與貝蒂一同被招募的還有另外5名女學(xué)生.

為首臺(tái)計(jì)算機(jī)編寫程序

二戰(zhàn)結(jié)束后,貝蒂繼續(xù)為軍方從事計(jì)算機(jī)研究工作.1946年,她和另外5名女伙伴

開始為世界上第一臺(tái)電子計(jì)算機(jī)ENIAC編寫程序.1949年,她又幫助美國諾斯羅

普航空公司為世界上第一臺(tái)商用計(jì)算機(jī)UNIVACI設(shè)計(jì)邏輯程序,這臺(tái)計(jì)算機(jī)在

1951年首次被美國人口普查署投入了使用.

據(jù)悉,為世界上第一臺(tái)計(jì)算機(jī)ENIAC編寫程序堪稱是一項(xiàng)考驗(yàn)身體毅力、創(chuàng)造力

和耐力的嚴(yán)峻工作,因?yàn)檫@臺(tái)機(jī)器在當(dāng)時(shí)來說實(shí)在太復(fù)雜了,它占地170平方米,

重達(dá)30噸,包含了大約18000個(gè)電子管、70000個(gè)電阻器和至少3000多個(gè)開

關(guān).1946年2月,美國陸軍軍械部和賓夕法尼亞大學(xué)莫爾學(xué)院聯(lián)合向世界宣布

ENIAC的誕生,從此揭開了現(xiàn)代電子計(jì)算機(jī)發(fā)展和應(yīng)用的序幕.

世界上第一批“黑客”

據(jù)悉,貝蒂甚至還是世界上最早的女“電腦黑客”,因?yàn)樵谠缙诘挠?jì)算機(jī)程序研究中,

她和其他5名女同事還曾合法地"黑''過世界上首批計(jì)算機(jī)中的一臺(tái),并將它轉(zhuǎn)變

成了一臺(tái)程序儲(chǔ)存器,從而幫助計(jì)算機(jī)真正地邁入了數(shù)字化時(shí)代.

貝蒂婚后生有3名兒女,為了照顧3個(gè)孩子,幾年后她被迫離開了計(jì)算機(jī)研究行業(yè).

被美國計(jì)算機(jī)史遺忘

據(jù)悉,在6名最早的女性電腦高手中,目前只有3人還活在世上,都已是80多歲高

齡.

幾十年來,貝蒂和她的5名女同事一直被美國計(jì)算機(jī)史所忽略和遺忘.在ENIAC計(jì)

算機(jī)發(fā)明40周年慶祝典禮中,這些最早的先行者甚至沒有獲得邀請(qǐng),唯一一名被

邀請(qǐng)的女性還是作為另一名計(jì)算機(jī)專家的配偶出現(xiàn)的.

最近,貝蒂的故事正被拍成一部紀(jì)錄片.據(jù)紀(jì)錄片制片人、計(jì)算機(jī)歷史學(xué)家凱西?克

萊曼說:“這部紀(jì)錄片不僅僅是講述她們的傳奇故事,而且對(duì)美國目前的計(jì)算機(jī)業(yè)

具有重要意義,因?yàn)槿缃竦拿绹?jì)算機(jī)界仍是男性主宰的世界.而這幾位‘奶奶級(jí)’

電腦高手的事跡證明,女性在計(jì)算機(jī)研究上的能力絲毫不亞于男性

丹尼斯?利奇?傳奇的締造者——C語言之父訪談

DennisMRitchie(丹尼斯?里奇),C語言之父,UNIX之父。

C語言是使用最廣泛的語言之一,可以說,C語言的誕生是現(xiàn)代程序語言革

命的起點(diǎn),是程序設(shè)計(jì)語言發(fā)展史中的一個(gè)里程碑。自C語言出現(xiàn)后,以C語

言為根基的C++、Java和C#等面向?qū)ο笳Z言相繼誕生,并在各自領(lǐng)域大獲成功。

但今天C語言依舊在系統(tǒng)編程、嵌入式編程等領(lǐng)域占據(jù)著統(tǒng)治地位。

C語言,這種最有效、最通用的編程語言,就是他開發(fā)的,而這還是他在做

另一個(gè)項(xiàng)目時(shí)的副產(chǎn)品。DennisRitchie還和KenThompson一起開發(fā)了Unix操

作系統(tǒng),因此,他還是名副其實(shí)的UNIX之父。現(xiàn)年64歲的40年如一日在貝爾

實(shí)驗(yàn)室/朗訊科技公司(原AT&T實(shí)驗(yàn)室)工作,現(xiàn)在是計(jì)算科學(xué)研究中心系統(tǒng)

軟件研究部主任。

從二十世紀(jì)七十年代起,他的工作得到了很多計(jì)算機(jī)組織的公認(rèn)和表彰,如:

美國計(jì)算機(jī)協(xié)會(huì)(ACM)授予的系統(tǒng)及語言杰出論文獎(jiǎng)(1974);電氣和電子工程師

協(xié)會(huì)(IEEE)的EmmanuelPiore獎(jiǎng)(1982);貝爾實(shí)驗(yàn)室特別人員獎(jiǎng)(1983);美國計(jì)

算機(jī)協(xié)會(huì)(ACM)的圖靈獎(jiǎng)(1983);NEC公司的C&C基金獎(jiǎng)(1989);電氣和電子

工程師協(xié)會(huì)(IEEE)的優(yōu)秀獎(jiǎng)?wù)?HammingMedal)(1990)等等。

目前,DennisM.Ritchie正擔(dān)任貝爾實(shí)驗(yàn)室/朗訊科技公司(原AT&T實(shí)驗(yàn)室)

下屬的計(jì)算科學(xué)研究中心系統(tǒng)軟件研究部的主任一職。該中心位于美國新澤西州

的MurrayHilL

1978年BrianW.Kernighian和DennisM.Ritchie出版了名著《C程序設(shè)計(jì)語

言(TheCProgrammingLanguage)》,現(xiàn)在此書已翻譯成多種語言,成為C語

言方面最權(quán)威的教材之一。

大師的修煉之道

在Ritchie的成長歷程中,有兩個(gè)人對(duì)他的影響最大,一個(gè)是他父親,而另

一個(gè)是他的摯友,同為UNIX發(fā)明人的KenThompson。尤其是后者,我們可以

從后面他對(duì)此問題的回答中得到印證。

有人問過Dennis,他的偶像是誰,不論在計(jì)算機(jī)領(lǐng)域還是其他領(lǐng)域?

他說:我不是在英雄熏陶下成長起來的。很顯然,對(duì)我職業(yè)生涯影響最大的

人物是KenThompson。UNIX大部分是他的工作,同樣也是C語言的前輩,同

樣Plan9系統(tǒng)的大部分工作也是他做的。并且在這其間Ken做了第?個(gè)計(jì)算機(jī)

象棋大師。

Ritchie生于1941年9月9日的紐約Bronxville,獲得學(xué)士學(xué)位并且獲得哈

佛大學(xué)更高的學(xué)位,在那里以肄業(yè)生資格學(xué)習(xí)物理,以研究生資格學(xué)習(xí)應(yīng)用數(shù)學(xué)。

也正是在這時(shí)候,?個(gè)偶然的機(jī)會(huì)改變了他一生的選擇。Ritchie這樣描述他的

轉(zhuǎn)變,當(dāng)他聽取一些非課程類的計(jì)算機(jī)講座后(大約1960年),開始對(duì)計(jì)算機(jī)

著迷,并選擇了一學(xué)期正規(guī)(介紹性的)課程。第一部分是模擬計(jì)算機(jī),后面是

關(guān)于打孔卡片設(shè)備的,然后是關(guān)于真正的數(shù)字式計(jì)算機(jī)的,并為UnivacI號(hào)機(jī)準(zhǔn)

備了一個(gè)程序。當(dāng)時(shí)他是一個(gè)主修物理學(xué)的學(xué)生,但是更加著迷于計(jì)算機(jī)處理的

理論和實(shí)際問題。因此,他的畢業(yè)論文大部分是理論方面的(遞歸函數(shù)的層次),

但是也開始投入更大精力到實(shí)踐方面。作為助教為同一個(gè)介紹性課程的后續(xù)版本

工作了三年——不過那時(shí)計(jì)算機(jī)已經(jīng)成了IBM7049o

1968年獲得數(shù)學(xué)博士,而論文正是上面的《遞歸函數(shù)的的層次》。

1967年加入貝爾實(shí)驗(yàn)室,他的父親AlistairE.Ritchie在那里有長時(shí)間的工作

經(jīng)歷,他的父親對(duì)晶體管電路類的東西很有研究,正是由于父親的影響,也使得

他走上了科學(xué)研究之路。

不久后,加入了Multics項(xiàng)目,那時(shí)由貝爾實(shí)驗(yàn)室、麻省理工學(xué)院和通用電

器三家的合作項(xiàng)目。Ritchie負(fù)責(zé)多道處理機(jī)的BCPL

語言和GE650的編譯器,它們都是屬于GECOS系統(tǒng)的。同樣的,他也寫

了ALTRAN語言的代數(shù)編譯器,那是用于符號(hào)計(jì)算機(jī)的一種語言和系統(tǒng)。

圖:Dennis在辦公室里

后來,Ritchie先生協(xié)助KenThompson做UNIX操作系統(tǒng)。在UNIX系統(tǒng)基

本就緒并且在教育、政府和商業(yè)中得到一定程度的應(yīng)用時(shí),SteveJohnson和他(在

Ken幫助下)開始將這個(gè)操作系統(tǒng)移植到Interdata8/32上,通過這種方式證明其

輕便性,基于UNIX快速的傳播:貝爾實(shí)驗(yàn)室的第7版已經(jīng)成為商業(yè)化UNIX的

第五版和BSDUNIX的基礎(chǔ)。

在UNIX發(fā)展之前,他向Thompson的B語言中加入數(shù)據(jù)類型和新的句法,

就這樣產(chǎn)生了一種新語言——C,這也是他說Thompson是C語言的前輩的原因。

C是便攜式UNIX的基礎(chǔ),并且它也在其它領(lǐng)域得到了廣泛應(yīng)用;計(jì)算機(jī)各方面

的應(yīng)用程序和系統(tǒng)發(fā)展,從手持設(shè)備到巨型機(jī),都有對(duì)它的應(yīng)用。有美國標(biāo)準(zhǔn)和

國際標(biāo)準(zhǔn)的C語言,并且它是后來Stroustrup寫的C++語言的基礎(chǔ)。

他從來沒有間斷過在計(jì)算機(jī)及其操作系統(tǒng)方面的工作。也因此,他所領(lǐng)導(dǎo)的

研究小組開發(fā)出了Plan9和Infernoo

Ritchie的業(yè)余生活也非常精彩,工作之余,他喜歡干什么呢?

他這樣描述自己的生活,干好多糾纏不清的事,大部分是和計(jì)算機(jī)相關(guān)的。

另一方面,也讀讀書看看報(bào)。另一項(xiàng)愛好是旅行,他到過很多地方,特別喜歡旅

行,但每次時(shí)間都不是很長。他是一個(gè)戀家的人,因而有時(shí)旅行不久后感到相當(dāng)

疲乏,但喜歡回想旅行經(jīng)歷,這時(shí)就很希望能擠出時(shí)間在一個(gè)具有異國情調(diào)的地

方待得時(shí)間長一點(diǎn)。

曾有人問過下面的問題,對(duì)于一個(gè)人是如何涉足軟件工業(yè)領(lǐng)域的,不同人有

不同的回答。是什么使Ritchie選擇了她,又是什么使得他在此領(lǐng)域如此瀟泗呢?

他的同答很簡(jiǎn)潔:興趣和好奇心!

他說:我開始對(duì)于物理學(xué)比較感興趣,現(xiàn)在仍然是一個(gè)業(yè)余愛好者,試圖跟

上物理學(xué)的一些新東西。早先上大學(xué)時(shí)包括讀研究生,我在計(jì)算機(jī)理論方面花了

不少時(shí)間(如圖靈機(jī)、復(fù)雜性理論)。這其間,我對(duì)真實(shí)的電腦也非常著迷,著

迷于所編即所見的經(jīng)歷:當(dāng)你編出一個(gè)程序,便能立即看到你的思想的實(shí)現(xiàn)!所

有的事情以一種非常有趣的方式聯(lián)系在了一起,也正是這一類的東西促使我進(jìn)入

這一領(lǐng)域。但不知什么原因,我沒有想過我正在這一領(lǐng)域做什么,即使時(shí)光倒流

到1968年,我想也是如此。

DMR先生對(duì)問題的描述非常簡(jiǎn)潔。

問:您的生活是怎樣和計(jì)算機(jī)聯(lián)系在一起的?

DMR:在大學(xué)的時(shí)候我開始對(duì)它感興趣(大約1960-61年),我參加了…

個(gè)非學(xué)術(shù)性的講座,關(guān)于大學(xué)里的UnivacI(通用自動(dòng)計(jì)算機(jī)I號(hào)),然后就選修

了一些課程。

問:您覺得怎樣才是學(xué)編程的好方法?學(xué)習(xí)語言時(shí)一種好的工具是不是必需

的?

DMR:我想你最有必要做下面的事情——編一些小程序,然后編大一點(diǎn)的。

問:怎樣才算是一種好的大學(xué)教育呢?尤其對(duì)計(jì)算科學(xué)來說。

DMR:教育知識(shí)面最好要寬一些,不要僅僅局限于編程。即使是編程,最

好多學(xué)兒種語言。我在大學(xué)時(shí)花了兒年時(shí)間學(xué)習(xí)物理和計(jì)算理論知識(shí),現(xiàn)在我仍

然對(duì)當(dāng)時(shí)的選擇比較滿意。

貝爾實(shí)驗(yàn)室出大師

圖:圖片看貝爾實(shí)驗(yàn)室的發(fā)展

C語言或Unix,任一項(xiàng)發(fā)明足以讓Dennis成為一代又一代程序員們的偶像。

但當(dāng)我們接觸這位偉人之后發(fā)現(xiàn),Dennis是一位非常低調(diào)的人,形成對(duì)照的是他

在軟件業(yè)成就輝煌的40年。今天,當(dāng)初與他同期加入貝爾實(shí)驗(yàn)室的科學(xué)家中,

多數(shù)人都已安享晚年或是自立門戶成為老板,而Dennis還是一如既往地在這里

從事自己喜歡的研究工作,著書立說,潛心編程。在完成C語言和Unix兩座高

峰后,他還帶領(lǐng)他的研究小組開發(fā)出了新一代操作系統(tǒng)Plan9和Infemoo

C語言和UNIX的發(fā)展歷程,還讓我們從側(cè)面見證了業(yè)界流流傳很久的話題:

貝爾實(shí)驗(yàn)室出大師!而在談到貝爾實(shí)驗(yàn)室成功的原因時(shí),Dennis的評(píng)價(jià)只有四個(gè)

字:管理得到!

貝爾實(shí)驗(yàn)室是全球馳名的研發(fā)機(jī)構(gòu),遍布全球16個(gè)國家,自1937年以來已

經(jīng)產(chǎn)生出11位諾貝爾獎(jiǎng)獲得者。貝爾實(shí)驗(yàn)室的科學(xué)家和研究人員自1925年以來

已經(jīng)獲得了40000多項(xiàng)發(fā)明,30000多項(xiàng)專利,平均每個(gè)工作日超過4項(xiàng),是全

球最多產(chǎn)的發(fā)明源泉之一。

貝爾實(shí)驗(yàn)室原名“貝爾電話實(shí)驗(yàn)室”,1996年10月正式改稱“貝爾實(shí)驗(yàn)室”

(BellLabs),先后為AT&T和朗訊科技公司的研發(fā)機(jī)構(gòu),也是后者得以成立

的支柱。它主要從事通信科技的基礎(chǔ)研究和技術(shù)發(fā)展工作,目前還從事通信系統(tǒng)

和設(shè)備的研制工作。

自1925年成立之時(shí)起,它一直是世界上規(guī)模最大、通信科技和控制等方面

最先進(jìn)、優(yōu)秀人才最集中和科技成果最突出的工業(yè)研究實(shí)驗(yàn)室或研發(fā)機(jī)構(gòu)。它的

工作人員從成立時(shí)的3600人和年經(jīng)費(fèi)1200萬美元發(fā)展到1991年的29000人和

37億美元。在1999年,雇員人數(shù)仍為25000人,年經(jīng)費(fèi)36.78億美元,依然

雄居世界研發(fā)機(jī)構(gòu)的榜首,被稱為“世界首要的研發(fā)機(jī)構(gòu)''和研發(fā)的“象牙之塔

圖:KenThompson(2c)和DennisRitchie從克林頓手中接地過國家技術(shù)獎(jiǎng)

問:在AT&T和Bell實(shí)驗(yàn)室有這樣多的1T發(fā)明和著名人物,您覺得有什么

秘決嗎?

DMR:我覺得這得益于我們的管理,使得有足夠資金資助研究,更重要的

是給予充足的時(shí)間和允許某些思想發(fā)展的時(shí)間。很幸運(yùn)的另一點(diǎn)是,這里有一批

天才人物的加入。還有一定程度的幸運(yùn)在里面:1970年代,在計(jì)算機(jī)硬件條件

(如小型機(jī))發(fā)生了巨大的變化,這樣使得許多機(jī)構(gòu)可以順利地開展實(shí)驗(yàn),而這

之前是很困難的。

C語言是Dennis的得意這筆,對(duì)于這一筆,他看得非常平靜,當(dāng)問到他對(duì)C

語言的將來做一下預(yù)測(cè)時(shí),他的回答十分簡(jiǎn)潔:C語言正在被C++,也可能是Java

所替代,也可能是更高級(jí)的腳本語言。當(dāng)然,它在關(guān)于系統(tǒng)一類設(shè)計(jì)中還是相當(dāng)

強(qiáng)的工具。

問:您能對(duì)IT的將來做一下預(yù)測(cè)嗎?將來我們最有可能用什么語言?

DMR:我對(duì)預(yù)測(cè)不在行,但是很明顯,人們正在從象C語言之類的直接編

譯型語言,轉(zhuǎn)換到注重解釋性的語言,象某些腳本語言。

問:您對(duì)面向?qū)ο笫窃鯓永斫獾模克遣皇且环N好的可接受的編程思考方

式?有沒有學(xué)習(xí)00必須的有用的工具?

DMR:我看過00的東西但我現(xiàn)在還不是00迷。這種思想是非常好的,

也即是通過隱藏任務(wù)的執(zhí)行來定義界面,但是它可能做得有點(diǎn)過火;它以很難發(fā)

現(xiàn)工作本質(zhì)的程序終結(jié);它的所有的東西就是界面。

問:數(shù)學(xué)和計(jì)算機(jī)科學(xué)有什么關(guān)系嗎?

DMR:我覺得計(jì)算機(jī)科學(xué)就是:包括工程學(xué)在內(nèi)的對(duì)數(shù)學(xué)的應(yīng)用。

問:現(xiàn)在的大學(xué)有部分學(xué)生中途退學(xué),您怎樣看待這現(xiàn)象呢?

DMR:在.com泡沫時(shí)期,我曾經(jīng)為此非常擔(dān)心,現(xiàn)在,至少現(xiàn)在在我們國

家,好象不很普遍了。可能原因在于,人們已經(jīng)不再把計(jì)算機(jī)科學(xué)看作可以立即

賺到大把美金的東東了,因此,現(xiàn)在其他的人對(duì)這門學(xué)科本身更感興趣一點(diǎn)。

問:您對(duì)中國和中國的程序員有什么認(rèn)識(shí)?您想對(duì)他們說點(diǎn)什么嗎?

DMR:我訪問中國好多次,但每次都很短暫,以至于很難形成一個(gè)一般的

看法。上一次我還記得,在大學(xué)的見面會(huì)上,我講了一些當(dāng)時(shí)正在從事的工作的

情況和歷史,學(xué)生們的態(tài)度非常熱情,他們提問所表達(dá)出的知識(shí)面也很寬博。

問:您怎樣教育自己的孩子和學(xué)生?

DMR:兩者我都不可能有!我沒結(jié)婚,并且我是在工業(yè)系統(tǒng)而不是學(xué)術(shù)機(jī)

構(gòu)中。

C語言、UNIX雙雙飛

C語言是一門偉大的語言,一門偉大的承前啟后的語言。C語言是借助Unix

操作系統(tǒng)的翅膀而起飛的,Unix操作系統(tǒng)也由于C而得已快速移植落地生根,

兩者相輔相承,成就了軟件史上最精彩的一幕。而對(duì)于C的誕生,大師對(duì)他的

描述是那樣地不經(jīng)意。C語言的發(fā)展頗為有趣。它的原型ALGOL60語言。

1963年,劍橋大學(xué)將ALGOL60語言發(fā)展成為CPL(CombinedProgramming

Language)語言。

1967年,僉慚大學(xué)的MatinRichards對(duì)CPL語言進(jìn)行了簡(jiǎn)化,于是產(chǎn)生了

BCPL語言。

1970年,KenThompson將BCPL進(jìn)行了修改,并為它起了一個(gè)有趣的名

字“B語言”。意思是將CPL語言煮干,提煉出它的精華。

而在1973年,B語言也給人“煮”了一下,在B語言的基礎(chǔ)上最終設(shè)計(jì)出了

一種新的語言,他取了BCPL的第二個(gè)字母作為這種語言的名字,這就是C語

言。

為了使UNIX操作系統(tǒng)推廣,1977年DennisM.Ritchie發(fā)表了不依賴于具

體機(jī)器系統(tǒng)的C語言編譯文本《可移植的C語言編譯程序》。

1978年BrianW.Kernighian和DennisM.Ritchie出版了名著《C程序設(shè)計(jì)語

言(TheCProgrammingLanguage)》,從而使C語言成為目前世界上流行最廣

泛的高級(jí)程序設(shè)計(jì)語言。

1988年,隨著微型計(jì)算機(jī)的日益普及出現(xiàn)了許多C語言版本。由于沒有統(tǒng)

一的標(biāo)準(zhǔn),使得這些C語言之間出現(xiàn)了一些不一致的地方。為了改變這種情況

美國國家標(biāo)準(zhǔn)研究所(ANSI)為C語言制定了一套ANSI標(biāo)準(zhǔn),成為現(xiàn)行的C語

言標(biāo)準(zhǔn)。

C語言發(fā)展迅速,而且成為最受歡迎的語言之一,主要因?yàn)樗哂袕?qiáng)大的功

能。許多著名的系統(tǒng)軟件,如DbaselllPLUS、DbaseW都是由C語言編寫的。

用C語言加上一些匯編語言子程序,就更能顯示C語言的優(yōu)勢(shì)了。C++、Java

等語言受C語言影響深刻。

在技術(shù)方面,曾有人問Dennis,C語言設(shè)計(jì)目標(biāo)有沒有隨著時(shí)間推移而改

變?如果沒變,為什么?

他說:我個(gè)人的目標(biāo)這些年來一直未變,并且,我不是1989和1999年標(biāo)準(zhǔn)

的主要推動(dòng)者。無論1989年ANSI標(biāo)準(zhǔn)還是ISO標(biāo)準(zhǔn)都使事情制度化了,這些

條文比我最初寫的文檔要好;最需要加以說明的是我早先關(guān)于函數(shù)原型做的工

作,對(duì)C++語言的影響是非常重要的一個(gè)影響。

而在關(guān)于眾多計(jì)算機(jī)語言的激烈辯論中,始終處在中心位置的C語言作者

Dennis卻顯得很平靜。西班牙的一位大學(xué)生曾經(jīng)問過他類似的問題:如果UNIX

被選為過去和當(dāng)前的操作系統(tǒng),盡管過去兒年出現(xiàn)了一些面向?qū)ο蟮恼Z言,毫無

疑問C也將被認(rèn)為是“唯一的語言"。你怎么看待C++和Java,吸C和C++

程序員之間在UseNet上經(jīng)常發(fā)生的激烈爭(zhēng)論呢?

他說:C++的很大一部分得宜于Co因?yàn)镃早在C++出現(xiàn)之前就已經(jīng)具

有了非常好的兼容性,所以C++才可以采用C作為建構(gòu)自身的基礎(chǔ)并使用它

來開發(fā)自己的編譯器。C被設(shè)計(jì)成為一種便攜式匯編語言,對(duì)于這一特性人們

褒貶不一,C++則試圖把編程方法提高到面向?qū)ο筮@種更抽象的層次上來。從

最近形成的標(biāo)準(zhǔn)來看,二者共同的缺點(diǎn)是:帶有過多的裝飾和附屬物。同樣的,

它們都采用了相同的編程思想,都試圖按照真正的需求來編寫代碼。Java顯然

是C++的改進(jìn)版本。它砍掉了C中的指針操作部分,引入了生成獨(dú)立于機(jī)器

的目標(biāo)文件這種編程思想(雖然這個(gè)思想并不是很新的,但是也許直到現(xiàn)在它才

真正可行了)。既然Sun和Microsoft公司(它的產(chǎn)品同樣的有過多的裝飾附件)

已經(jīng)把Java作為它們之間競(jìng)爭(zhēng)的工具,誰也難以預(yù)料事態(tài)將向何處發(fā)展。

圖:KenThompson和DennisRitchie在PDP111971

問:您是怎樣發(fā)明C語言的?發(fā)明的過程是什么樣子的。它對(duì)您的生活和

研究有什么影響嗎?

DMR:公正地說,發(fā)明C語言的目的是:為了寫編譯器和語言設(shè)計(jì),為了

更易于編寫UNIX操作系統(tǒng)程序,我們做的一個(gè)可以在小型計(jì)算機(jī)上使用的工

具。Unix做的比較好,并且PC開始相當(dāng)普遍,由于C語言在Unix上的很好地

應(yīng)用,使得用它來寫應(yīng)用程序和操作系統(tǒng)迅速增長起來。因此,對(duì)我來說,C語

言的確非常重要。

問:您覺得C語言和C++有什么不同嗎?

DMR:多年以來,C和C++,已經(jīng)是兩種不同的語言了;Stroustrup先生

汲取了C語言語法和潛在的語義學(xué)中的許多東西,形成了C++語言。在一些交

叉領(lǐng)域,標(biāo)準(zhǔn)委員會(huì)盡量使兩種語言兼容。

問:您覺得計(jì)算機(jī)語言和我們?nèi)祟惖恼Z言有什么不同呢?

DMR:計(jì)算機(jī)語言更加正式和明確,有統(tǒng)一的規(guī)則,當(dāng)然,它們都是經(jīng)過

設(shè)計(jì)的。人類語言有語法,但相對(duì)來說不很正式,有些規(guī)則可以打破,當(dāng)然,它

們有不同的目的——為了同人交流而不是同機(jī)器交流。

人物印象

DMR先生的專業(yè)精神令人感動(dòng),近40年如一日,在他所從事的領(lǐng)域辛勤

耕耘,而他的多項(xiàng)發(fā)明,包括C語言,Unix,也包括現(xiàn)在正在進(jìn)行的Plan9,無

論哪一項(xiàng),在軟件發(fā)展史上都有著舉足輕重的地位,和他的偉大成就形成對(duì)照的

是他的行事,態(tài)度低調(diào),他的表達(dá),象他的軟件一樣,簡(jiǎn)潔生動(dòng)而準(zhǔn)確。

C++的成功,很大一部分也來自于C,是C語言的普及和深入,才有了后面

的鳳凰涅盤,從另一個(gè)角度,在同另一語言大師Pascal之父NiklausWirth交流

時(shí),C++的名字也是源自C語言的利器,Wirth先生不無惋惜地表示,后來他開

發(fā)的語言可惜沒叫Pascal20

安德斯?海爾斯伯格

AndersHejlsberg中文譯名:安德斯?海爾斯伯格,丹麥人,TurboPascal編譯

器的主要作者。進(jìn)入微軟公司后,先后主持了VisualJ++和.Net。

目錄

??主要?dú)v程

??Delphi和.NET之父:安德斯?海爾斯伯格

?,AndersHejlsberg的故事

??Borland創(chuàng)業(yè)故事

[顯示全部]

主要?dú)v程編輯本段回目錄

1加入Borland公司之前

必77AndersHejlsberg

廿''Microsoft

Leddevwopmentteamfor

BodancfsDelphiandcurrentlythe

leadarchitectforMicrosoffsC#.

§100

MO!二…一二一二一「wINIT

AndersHejlsberg

安德斯?海爾斯伯格曾在丹麥技術(shù)大學(xué)學(xué)習(xí)工程,當(dāng)時(shí)他在丹麥擁有個(gè)叫

PolyData的公司,他編寫了CompassPascal編譯器核心,后來叫PolyPascal。

2在Borland公司

安德斯?海爾斯伯格把CompassPascal編譯器核心授權(quán)給了美國Borland公

司,并作為雇員加入Borland公司,并且是后來所有TurboPascal版本與Delphi

前3個(gè)版本的架構(gòu)師。PhilippeKahn為第一個(gè)版本的TurboPascal添加了用戶界

面與編輯器。

3加入微軟公司

據(jù)說,比爾?蓋茨親自參與了這次挖角行動(dòng),并許諾安德斯?海爾斯伯格在微軟將

得到技術(shù)上的足夠自由和資源支持。據(jù)說該事件也是微軟公司和Borland公司后

續(xù)官司的導(dǎo)火索。

4在微軟公司

進(jìn)入微軟公司后,首先主持了VisualJ++的開發(fā)工作,后來由于在Java開發(fā)

工具授權(quán)問題上和Sun公司的糾紛,微軟停止了VisualJ++的后續(xù)開發(fā)。

這之后,作為.Net概念的發(fā)起人之一,安德斯?海爾斯伯格被任命為微軟.Net

的首席架構(gòu)師,主持.Net的開發(fā)工作。

Delphi和.NET之父:安德斯?海爾斯伯格編輯本段回目錄

安德斯?海爾斯伯格(AndersHejlsberg,1960.11-),丹麥人,TurboPascal

編譯器的主要作者,Delphi和.NET之父

安德斯?海爾斯伯格曾在丹麥技術(shù)大學(xué)學(xué)習(xí)工程,當(dāng)時(shí)他在丹麥擁有個(gè)叫

PolyData的公司,他編寫了Pascal編譯器核心,最初叫作CompassPascal,后來

叫PolyPascaLAnders把該編譯器核心授權(quán)給了美國Borland公司。安德斯?海爾

斯伯格作為雇員加入Borland公司,并且是后來所有Pascal版本與Delphi前3

個(gè)版本的架構(gòu)師。PhilippeKahn為Pascal添加了用戶界而與編輯器。

AndersHejlsberg曾在丹麥科技大學(xué)學(xué)習(xí)工程學(xué)。AndersHejlsberg第一次登

上軟件界歷史舞臺(tái)是在80年代早期,因?yàn)樗麨镸S-DOS和CP/M設(shè)計(jì)了一個(gè)

Pascal編譯器。當(dāng)時(shí),還是一個(gè)小公司的Borland很快雇用了他,并買下了他的

編譯器,改稱TurboPascal。在Borland,Hejlsberg繼續(xù)開發(fā)TurboPascal,并最

終帶領(lǐng)他的小組設(shè)計(jì)了TurboPascal的替代品、開發(fā)工具史上的奇跡:Delphi語

言。

1996年,AndersHejlsberg在Delphi3發(fā)布前離開Borland去了MS。

在此之前,MS曾多次企圖挖走Anders,但都沒有成功。據(jù)信anders去MS(主

要)不是錢的問題,雖然MS的開價(jià)也相當(dāng)有吸引力:130萬美元年薪外加股票

期權(quán)和分紅,總計(jì)超過300萬美元。更主要的原因是Anders和Delphi開發(fā)組的

其他成員在修改編譯器的問題上發(fā)生了爭(zhēng)執(zhí);還有,據(jù)Borland內(nèi)部人講,Anders

認(rèn)為自己不再是“不可缺少的人”。

Anders在Delphi3中幾乎沒有做什么工作,ChuckJazdzewski扮演了一個(gè)更

重要的角色。(—AndersOhlsson)Anders在Borland時(shí)把所有精力都放在了Pascal

產(chǎn)品上,也需要新的挑戰(zhàn),這時(shí)BillGates的親自邀請(qǐng),許諾給與挑戰(zhàn)的機(jī)會(huì),

Anders加入了Microsoft就勢(shì)在必行。

Microsoft用豐厚的薪水、股票認(rèn)購權(quán)和巨額的加盟獎(jiǎng)金雇請(qǐng)了Hejlsberg

之后,Borland曾提出通過不正當(dāng)手段吸收新成員的控告。Borland還曾聲稱一

提供了很少的細(xì)節(jié)來支持指控一Hejlsberg正在開發(fā)“DelphiforJava"。這場(chǎng)訴

訟雖然最終以Borland的勝利而收?qǐng)觯坏獳nders已經(jīng)在為Microsoft工作了。

1996年Anders來到微軟后,直接主抓VisualJ++的研發(fā)工作,并在1999年

被授予“distinguishedengineer”(卓越工程師),在微軟僅有16人獲得這樣的榮

譽(yù)。

后來微軟希望通過開發(fā)最新的軟件開發(fā)語言來贏得軟件開發(fā)者的擁戴,在微

軟公司把視窗操作系統(tǒng)和軟件向網(wǎng)絡(luò)遷移的新市場(chǎng)戰(zhàn)略中,C#語言是最重要的

環(huán)節(jié)。微軟動(dòng)用了最好的資源。Anders擔(dān)任了C#語言的首席設(shè)計(jì)師,同時(shí)也是

微軟.NET戰(zhàn)略構(gòu)架的重要參與決策者。考慮一下Anders的經(jīng)歷,就不會(huì)奇怪微

軟將此重任交給他了。畢竟C#也不是他對(duì)軟件開發(fā)方式重大變革的首次。現(xiàn)在

經(jīng)過兒年時(shí)間的埋頭苦干,C#已成為微軟反擊Java語言的最有力武器。

鑒于他為軟件開發(fā)做出的巨大貢獻(xiàn),Anders在《Dr.Dobb's》雜志的2001年

西部會(huì)'議上被授予"PrestigiousExcellenceinProgrammingAward”,《Dr.Dobb's》

雜志的主編JonathanErickson說:“這一榮譽(yù),我們每年只頒給那些在軟件開發(fā)

領(lǐng)域做出非凡貢獻(xiàn)的人員,Anders開發(fā)的C#和他整個(gè)職業(yè)生涯中為軟件開發(fā)所

做出的巨大貢獻(xiàn)有目共睹,他無愧于這一榮譽(yù)!”

比爾蓋茨也高度評(píng)價(jià)說:“我們?yōu)锳nders獲得這一榮譽(yù)感到無比自豪,Anders

在C#創(chuàng)建中所做的努力將會(huì)改變現(xiàn)在的軟件開發(fā)方式,并將在以后的十年繼續(xù)

產(chǎn)生影響。”

“程序員是最好的職業(yè)“,Anders說:“每兩年,CPU的速度要加倍,內(nèi)存容

量是原來的四倍,但是我們的大腦還是原來的大小,很顯然,將需要更多的程序

原來補(bǔ)充這些。”

注:海爾斯伯格曾在微軟博物館視頻上表明他是1960年生的,但很多其它

資料顯示,他是1961年生的。2006年,在巴塞羅那微軟技術(shù)教育大會(huì)(TechED)

上,安德斯再次確認(rèn)他生于I960年。

AndersHejlsberg的故事編輯本段同目錄

在我的世界里,AndersHejlsberg是如同神一般存在的人物.

Delphi和C#的締造者,Borland的創(chuàng)始人之一,現(xiàn)在Microsoft的核心人物之一,

在一定程度上影響著這個(gè)世界的發(fā)展.溫文爾雅,為人低調(diào).不管在Internet中還是

在現(xiàn)實(shí)生活中,都找不到太多關(guān)于他的信息.進(jìn)入Microsoft已有九年,只是到了近

兒年隨著dotNet的問世才開始在公眾面前出現(xiàn).像他這樣的人,擁有別人艷羨的財(cái)

富,名譽(yù)和地位,卻甘心默默無聞的工作.我想,當(dāng)年他接受Microsoft邀請(qǐng)的唯一緣

由,就是Microsoft能提供讓他的才華充分發(fā)揮的環(huán)境,而在Borland,他已被限制的

太多.

一個(gè)曾與他共同工作過的同事在BLOG寫道,AndersHejlsberg擁有不可思議

的個(gè)人魅力和語言表達(dá)能力,得到了所有人的尊敬,并令人敬畏.

程序員是個(gè)特殊的行業(yè),這里中的每個(gè)人都智力出眾,驕傲無比,并以此自負(fù).

有句經(jīng)典的話:管理程序員,就像放牧一群驕傲的貓.我不知道,只能去想象,在這個(gè)

行業(yè)中,一個(gè)溫文爾雅卻能讓同行競(jìng)爭(zhēng)對(duì)手感到“敬畏”的人,到底是個(gè)什么樣的人.

也許,因?yàn)樵谒砩象w現(xiàn)出的,正是程序員們追求的終極之道:以精神魅力征服世

界,而不是物質(zhì)魅力.

AndersHejlsberg曾在丹麥科技大學(xué)學(xué)習(xí)工程學(xué),他編寫的Pascal編譯器的

核心,1981年將Pascal編譯器賣給了Borland,并加入Borland公司,那時(shí)■的Borland

公司還是一個(gè)名不見經(jīng)傳的小公司。

AndersHejlsberg在Borland主持開發(fā)了TurboPascal,TurboPascal獲得一直

好評(píng),AndersHejlsberg并未止步不前,他將TurboPascal編程-一種面向?qū)ο蟮摹?/p>

擁有可視化環(huán)境和卓越的數(shù)據(jù)庫訪問特性的應(yīng)用程序開發(fā)語言一Delphi。

Java出現(xiàn)了。AndersHejlsberg在Borland一直郁郁不得志,據(jù)Borland內(nèi)部

人士講AndersHejlsberg認(rèn)為自己不再是不可或缺的人。比爾蓋茨慧眼識(shí)才,三

故茅廬,把AndersHejlsberg請(qǐng)到了微軟。最開始微軟許以重金,但Anders

Hejlsberg不為所動(dòng),當(dāng)清楚AndersHejlsberg的想法后,比爾蓋茨答應(yīng)給他一個(gè)

寬松的環(huán)境,既領(lǐng)導(dǎo)VisualJ++小組,并提供薪水和紅利獎(jiǎng)金300萬美元。這樣

Borland這個(gè)大牛孵化器為微軟輸送了一位超級(jí)大牛。好景不長,SUN公司認(rèn)為

微軟破壞了java的跨平臺(tái)性,很快微軟就會(huì)利用它的VJ++將java開發(fā)人員拉攏

到它的周圍,而它的VJ++以及WFC的很多特性明顯是為了Windows平臺(tái)設(shè)計(jì)。

SUN中止了對(duì)微軟的java授權(quán)。此后微軟便選擇AndersHejlsberg擔(dān)任C#的首

席設(shè)計(jì)師。

Borland創(chuàng)業(yè)故事編輯本段回目錄

記得大學(xué)時(shí),第一個(gè)在PC上使用的軟件就是SideKick。這個(gè)至今讓我仍然

無法忘記的軟件,也曾讓許多人津津樂道,而Borland當(dāng)時(shí)也就是以SideKick成

為全球知名的軟件公司。不過Borland第一個(gè)奠立創(chuàng)業(yè)基礎(chǔ)的軟件,卻是我大二

用來交作業(yè)的TurboPascal,而TurboPascal也是我聽到的第一個(gè)關(guān)于Borland的

有趣的故事。

當(dāng)年P(guān)hilippeKahn(Borland的創(chuàng)始人)和AndersHejlsberg到美國創(chuàng)業(yè)時(shí),便

由Anders以匯編語言撰寫了TurboPascal的編譯器,而Philippe則包辦了Turbo

Pascal其他的部分。在這兩位仁兄開發(fā)完TurboPascal之后,窮得快連登廣告的

錢都沒有了。Philippe為了在Byte雜志(還記得這個(gè)著名的雜志嗎?)刊登Turbo

Pascal的廣告,和Anders商量了一個(gè)方法,那就是直接約Byte雜志的人到當(dāng)時(shí)

Borland的辦公室討論刊登廣告的事情。

當(dāng)Byte的人到了Borland之后,Philippe>Anders和公司的助理小姐故意忙

著接電話,接受TurboPascal的訂單,并且告訴Byte雜志的人等一下。過了一

陣之后Philippe才進(jìn)入房間向Byte的人道歉,說他們的TurboPascal受到市場(chǎng)的

熱烈歡迎,訂單源源不斷地到來,因此可能不需要在Byte雜志刊登廣告了,接

著Philippe向Byte的人展示TurboPascal這個(gè)產(chǎn)品。由于在當(dāng)時(shí)的機(jī)器中Turbo

Pascal能夠在極少的RAM中常駐執(zhí)行,又提供閃電般的編譯速度,這立刻讓Byte

雜志的人當(dāng)場(chǎng)震驚。憑著專業(yè)知識(shí)和豐富的經(jīng)驗(yàn),Byte的人立刻知道這將是一

個(gè)革命性的軟件,因此馬上希望Philippe能夠在Byte雜志刊登TurboPascal的廣

告,并且愿意以半價(jià)刊登。當(dāng)然,Philippe也立刻爽快地答應(yīng)了,于是一個(gè)革命

性的軟件TurboPascal終于在Byte雜志刊登出來了。當(dāng)時(shí)售價(jià)49.99美元的Turbo

Pascal立刻為Borland帶來了大量的財(cái)富,TurboPascal也馬上成為PC上除了基

本的Basic之外最暢銷的開發(fā)工具,由此正式揭開了Borland影響PC開發(fā)工具

近20年的歷史的序幕。

TurboPascal是由AndersHejlsberg親自開發(fā)的,并且和PhilippeKahn談好

的條件是Borland每賣出一套TurboPascal,Anders便從中抽取一份版權(quán)費(fèi)。由

于當(dāng)時(shí)軟件的價(jià)格不算便宜,能夠?qū)懢幾g器的人更是少之乂少,所以編譯器工程

師通常都能夠獲得優(yōu)厚的報(bào)酬。因此當(dāng)時(shí)AndersHejlsberg在完成了Turbo

Pascak并且和PhilippeKahn談好了合作條件之后,Anders理所當(dāng)然地認(rèn)為一套

TurboPascal會(huì)定價(jià)數(shù)百元美金,因?yàn)檫@不但是當(dāng)時(shí)一?般編譯器的價(jià)格,而且

TurboPascal還內(nèi)含了一個(gè)開發(fā)環(huán)境和編輯器(Editor),這是當(dāng)時(shí)許多工具沒有提

供的。

沒有想到極具商業(yè)頭腦的PhilippeKahn了解到:如果把TurboPascal定價(jià)在

數(shù)百美金,那么TurboPascal可能只會(huì)賣出數(shù)百到數(shù)千套,無法沖出大量的銷售

額。因此,PhilippeKahn以極大的勇氣,瞞著AndersHejlsberg只把TurboPascal

定價(jià)為49.95美金。這種價(jià)格在當(dāng)時(shí)對(duì)于編譯器和開發(fā)工具來說簡(jiǎn)直是不可思議

的低價(jià)。當(dāng)AndersHejlsberg知道了PhilippeKahn的定價(jià)后,簡(jiǎn)直快氣昏了。因

為在這么低的價(jià)格下Anders的版稅金一定少得可憐,因此當(dāng)時(shí)Anders說他把最

好的Pascal開發(fā)工具拿去讓一個(gè)白癡銷售。沒有想到的是,PhilippeKahn的定價(jià)

策略獲得了極大的成功。TurboPascal以極佳的品質(zhì)和令人不可思議的低價(jià)格成

為當(dāng)時(shí)最具吸引力的Pascal開發(fā)工具。當(dāng)然,在TurboPascal賣出了讓人難以置

信的成績之后,Anders便再也不提他把專業(yè)Pascal編譯器讓白癡去賣這件事了。

PhilippeKahn

關(guān)鍵產(chǎn)品-SideKick

雖然TurboPascal快速地讓Borland在當(dāng)時(shí)全世界的程序員中成為最響亮的

軟件新星,但是真正讓Borland打人一般計(jì)算機(jī)使用人群、快速成長為軟件巨人

的大功臣的,卻是Borland早期最重要的產(chǎn)品-SideKick。

在TurboPascal之后,Borland接著推出了SideKick這套軟件。SideKick可

以說是隨后著名的內(nèi)存常駐軟件(TerminateandStayResident-TSR)的始祖,也是

Borland跨出開發(fā)工具領(lǐng)域、讓幾乎所有PC使用者認(rèn)識(shí)Borland的關(guān)鍵軟件。

SideKick在當(dāng)時(shí)以許多豐富的小工具和記事功能讓它成為每一個(gè)程序員愛不釋

手的工具。還記得當(dāng)時(shí)我每天都會(huì)使用SideKick的ASCII對(duì)照表和計(jì)算器的功

能,因?yàn)樵趨R編語言(Assembly)盛行的時(shí)期,查閱ASCII對(duì)照表和在2進(jìn)制、10

進(jìn)制以及16進(jìn)制之間進(jìn)行轉(zhuǎn)換是每日必要的工作。

當(dāng)然SideKick也很快成為了暢銷軟件,在全球狂賣數(shù)10萬套,繼續(xù)把Borland

往頂尖的軟件公司推進(jìn)。

所謂的TSE代表TerminateandStayResident0這個(gè)意思是說,這類軟件在執(zhí)

行后會(huì)隱藏在內(nèi)存的某個(gè)位置中,但是并沒有出現(xiàn)在屏幕上。不過使用者通過一

個(gè)快捷鍵就可以立刻調(diào)出這類軟件讓使用者使用,在使用完畢之后又可以按一個(gè)

快捷鍵再度隱藏它。這樣的軟件運(yùn)行方式在當(dāng)時(shí)是一項(xiàng)全新的創(chuàng)舉。

以我的眼光來看,SideKick這個(gè)軟件對(duì)于Borland來說是非常關(guān)鍵的作品,

因?yàn)槲覍ideKick歸類成"消費(fèi)型軟件”產(chǎn)品。所謂消費(fèi)型軟件,是指可以被所有

計(jì)算機(jī)使用者使用的軟件,而不是只給程序員或是開發(fā)者使用的軟件。凡是現(xiàn)今

比較會(huì)賺錢或是規(guī)模比較大的軟件公司大都屬于開發(fā)"消費(fèi)型軟件"的公司。例如

Microsoft除了有和Borland競(jìng)爭(zhēng)得你死我活的開發(fā)工具之外,最重要的是

Microsoft擁有兩大”消費(fèi)型軟件":Windows操作系統(tǒng)和Office。這兩類軟件才是

Microsoft最賺錢的產(chǎn)品。Oracle是另外一個(gè)很好的例子,數(shù)據(jù)庫兒乎是現(xiàn)在任

何應(yīng)用都需要使用的軟件。同樣,SideKick就屬于這一類型的軟件,因?yàn)镾ideKick

可以被所有的開發(fā)者使用來增加生產(chǎn)力,而不管開發(fā)者使用的是什么語言。因此

當(dāng)Borland推出SideKick之后,立刻在全世界狂賣,也成為繼TurboPascal之后

Borland最賺錢的產(chǎn)品。我認(rèn)為在后來的數(shù)年之中Borland走得比較辛苦,便是

因?yàn)锽orland再也沒有推出像SideKick一樣屬于“消費(fèi)型軟件"的重量級(jí)產(chǎn)品,而

只有屬于程序員和開發(fā)者小眾市場(chǎng)的產(chǎn)品,這是非常可惜的事情。而”消費(fèi)型軟

件”也是到現(xiàn)在我仍然認(rèn)為Borland應(yīng)該推出的產(chǎn)品。

由于SideKick的TSR技術(shù)是當(dāng)時(shí)獨(dú)一無二的,而且是如此的好用,這引起

了當(dāng)時(shí)許多人的好奇,并且成了所有軟件廠商模仿的對(duì)象,我還記得稍后許多的

計(jì)算機(jī)信息書籍都以如何學(xué)習(xí)TSR技術(shù)作為賣點(diǎn)。也是因?yàn)镾ideKick和TSR太

成功了,因此Borland立刻進(jìn)行了兩個(gè)工作。第一當(dāng)然是馬上開發(fā)下一版的

SideKick,讓SideKick繼續(xù)執(zhí)類似軟件的牛耳,以防止其他軟件公司推出類似的

軟件來分食SideKick打下的天下。

很快地,Borland便推出了SideKick的后續(xù)版本,不但功能更多,而且

SideKick從原本完全以開發(fā)者為中心的軟件轉(zhuǎn)變?yōu)檫m合所有計(jì)算機(jī)使用者使用

的消費(fèi)型軟件。看看左圖,從產(chǎn)品封面以"DesktopOrganizer”為主題便可以了解

到SideKick在當(dāng)時(shí)的定位。果然,后續(xù)的SideKick又持續(xù)地大賣,這讓Philippe

Kahn非常振奮,也讓他雄心大盛,開始想要通過SideKick的成功主導(dǎo)PC軟件

的標(biāo)準(zhǔn),這當(dāng)然就是SideKick一舉成名的TSR技術(shù)。

在Borland通過TurboPascal和SideKick大獲成功之后,也因TSR技術(shù)成為

大多數(shù)開發(fā)者津津樂道的軟件公司,許多軟件公司都開始模仿Borland的TSR技

術(shù)開發(fā)大量的TSR軟件。不過當(dāng)TSR技術(shù)大量被運(yùn)作之后。最后卻造成眾多的

TSR軟件彼此沖突,無法正確地相互共存,這主要是因?yàn)樵S多TSR軟件都使用

了相同的快捷鍵來調(diào)出/關(guān)閉軟件,或是隱藏在相同的內(nèi)存位置。我還記得,當(dāng)

時(shí)同時(shí)使用兒個(gè)TSR軟件時(shí),必須遵照一定的運(yùn)行次序才可以正常使用。

為了解決這個(gè)擾人的問題,Borland開始廣邀軟件公司,想要以Borland為

首制定TSR的標(biāo)準(zhǔn)。如此一一來,只要所有的軟件廠商遵照Borland制定的標(biāo)準(zhǔn),

那么所有的TSR軟件就可以彼此正確地運(yùn)行在PC之中。當(dāng)Borland公布了這個(gè)

想法并且發(fā)表了初步的TSR標(biāo)準(zhǔn)規(guī)格之后,卻立刻引起了Microsoft的緊張。因

為當(dāng)時(shí)TSR是如此的流行,Microsoft害怕TSR技術(shù)由Borland主導(dǎo)之后會(huì)讓

Borland成為PC軟件的霸主,進(jìn)而嚴(yán)重影響Microsof想主宰PC的計(jì)劃。

因此在Borland開始正式制定TSR標(biāo)準(zhǔn)之際,Microsoft便站出來反對(duì)Borland

定義的TSR標(biāo)準(zhǔn),并且聲明Microsoft將在未來的DOS操作系統(tǒng)中加入對(duì)于TSR

的支持,因此沒有必要再額外制定TSR標(biāo)準(zhǔn)。當(dāng)時(shí)的軟件公司,包括Borland

在內(nèi),都無法和Microsoft對(duì)抗。在操作系統(tǒng)廠商表明了反對(duì)立場(chǎng)之后,Borland

的這個(gè)構(gòu)想很快便迫于形勢(shì)而放棄了。關(guān)于TSR的爭(zhēng)議應(yīng)該算是Borland和

Microsoft之間的第一場(chǎng)戰(zhàn)爭(zhēng)。雖然在沒有引起太大的烽火之前便很快收?qǐng)觯?/p>

過也算是Borland和Microsoft第一次真正的交手。也正是由于這次的相爭(zhēng),讓

Microsoft驚訝于Borland快速的興起,并開始正視Borland這家在當(dāng)時(shí)還算小的

軟件公司。

雖然在有關(guān)TSR的技術(shù)之爭(zhēng)中Microsoft贏得了勝利,不過很奇怪的是,此

后TSR軟件反而開始慢慢地退燒。除了一些少數(shù)的公用程序軟件仍然使用TSR

之外,之后便沒有什么重量級(jí)的軟件是使用TSR技術(shù)開發(fā)的,這算不算是另一

樁Microsoft介入之后搞砸的技術(shù)呢?

最后再敘述一個(gè)從Borland老員工處聽來的有趣故事。許多人一直想要知道:

Borland的總部在哪里?或是想要知道:為什么Borland會(huì)選擇ScottValley作為

總部?事情的經(jīng)過是這樣的:

當(dāng)年P(guān)hilippeKahn和AndersHejlsberg到美國準(zhǔn)備開始創(chuàng)業(yè)時(shí),由于沒有資

金,PhilippeKahn就在西餐廳打工,負(fù)責(zé)端盤子的工作,而AndersHejlsberg則

努力的在開發(fā)TurboPascalo

當(dāng)PhilippeKahn存了一筆小錢之后,兩個(gè)人便開始了創(chuàng)業(yè)大計(jì)。首先他們

必須找到■個(gè)公司的總部,可是要在哪里實(shí)現(xiàn)PhilippeKahn和AndersHejlsberg

心中的理想呢?雖然當(dāng)時(shí)他們住在L.A.附近,但是光憑PhilippeKahn存的一點(diǎn)

小錢是絕不夠在L.A.大展鴻圖的,因此PhilippeKahn和AndersHejlsberg決定到

比較偏遠(yuǎn)的地方試試。于是這兩位仁兄便開著PhilippeKahn的破車往南出發(fā)了。

聽說當(dāng)PhilippeKahn把車開到ScottValley附近時(shí)剛好沒有汽油了,眼看四周的

環(huán)境覺得還不錯(cuò),就決定在這個(gè)地方展開PhilippeKahn和AndersHejlsberg的創(chuàng)

業(yè)之夢(mèng)。就是這個(gè)決定讓原本默默無聞的ScottValley在數(shù)年之后竟成為一個(gè)家

喻戶曉的高科技盛地。

C#首席設(shè)計(jì)師AndersHejlsberg專訪編輯本段回目錄

C#首席設(shè)計(jì)師AndersHejlsberg專訪

作者:JohnOsbom

譯者:榮耀

[譯序:精彩技術(shù),不容錯(cuò)過!限于時(shí)間和能力,譯文倘有訛誤,當(dāng)以英文

原版為準(zhǔn)。]

2007年7月,CTReiHy編輯JohnOsborn參加了微軟職業(yè)開發(fā)者會(huì)議。在此,

他對(duì)著名的工程師、微軟.Net框架設(shè)計(jì)師、C#程序語言首席設(shè)計(jì)師Anders

Hejlsberg進(jìn)行了采訪。AndersHejlsberg因設(shè)計(jì)PC上最早的語言之一一Turbo

Pascal而出名。他把TurboPascal授權(quán)給Borland公司,后又率隊(duì)開發(fā)了Delphi—

一個(gè)極為成功的可視化的客戶/服務(wù)應(yīng)用設(shè)計(jì)工具[譯注:此處不必拿MIDAS之

類較真J]o訪問時(shí)在座的還有微軟C#產(chǎn)品經(jīng)理TonyGoodhew和OReilly的

Windows編輯RonPetrushao

Osborn:我已經(jīng)看到一些關(guān)于C#[發(fā)音為"Seesharp”]的新聞故事,我注意

到有很多似乎傾向于這樣的觀點(diǎn)一或理論上說一C#不是Java的克隆就是Java的

微軟替代物。如果你來寫這個(gè)標(biāo)題,你希望人們?cè)趺丛u(píng)論這門語言?

Hejlsberg:首先,C#不是Java的克隆。在設(shè)計(jì)C#期間,我們考察了很多

種語言,如C++、Java、Modula2、C、Smalltalk等。很多語言都有我們感興

趣的相同的核心思想,比如深度面向?qū)ο蟆⒑?jiǎn)化對(duì)象等等。

C#和這些別的語言尤其是Java的關(guān)鍵不同點(diǎn)是它非常接近C++。在我們

的設(shè)計(jì)中努力使然。C#從C++直接借用了大多數(shù)的操作符、關(guān)鍵字和聲明。我

們還保留了許多被Java拋棄的語言特性。為什么Java中沒有枚舉,道理何在?

我的意思是,拋棄它們是基于何種理論基礎(chǔ)?在C++中,枚舉顯然是一個(gè)很有意

義的概念。在C#中,我們保留了枚舉并同樣使其類型安全。并且,枚舉不只是

整型,它們實(shí)際上是從.NET基類庫里的System.Enum派生下來的強(qiáng)類型的值類

型。如果沒有造型轉(zhuǎn)換,枚舉類型“foo”和枚舉類型“bar”不可互換。我認(rèn)為這是

個(gè)重要的差異。我們還保留了操作符重載和類型轉(zhuǎn)換。C#名字空間的整體結(jié)構(gòu)

也非常接近C++。

但是,超越這些傳統(tǒng)的語言論題,我們?cè)O(shè)計(jì)語言的一個(gè)關(guān)鍵的目標(biāo)是使

C#面向組件。我們向語言自身加入了你在編寫組件時(shí)所需要的所有概念。例如

屬性[譯注:即property,翻譯為“屬性”,由來已久。我懷疑如果先有attribute的

話,property會(huì)不會(huì)被翻譯為“性質(zhì)”、“特性",而attribute才是“屬性”:JL]、方法、

事件、特性[譯注:即attribute,截至目前,此名詞譯法仍較混亂。有的翻譯和

property不區(qū)分,也譯為“屬性”;有的譯為“特性”;有的譯為“屬性信息”。在該

名詞譯法尚未統(tǒng)一之前,本著精簡(jiǎn)原則,筆者先把它翻譯成“特性”。但注意,

XML中的attribute的譯法-一般比較統(tǒng)一,即為“屬性’(因?yàn)閄ML中沒有一個(gè)類

似于property的東西會(huì)與之混淆)。因此,本文最后交叉描述C#和XML的部分,

請(qǐng)留心“特性”、“屬性”各有所指。]和文檔等,它們都是一流的語言結(jié)構(gòu)。我們

對(duì)特性所做的工作是全新的和創(chuàng)新的。利用特性可為任何對(duì)象加入有類型的、可

擴(kuò)展的元數(shù)據(jù)。這在目前任何其它程序語言里都看不到的。C#也是第一個(gè)合并

XML注釋標(biāo)記的語言,編譯器可以用其直接從源碼中生成可讀的文檔。

另外一個(gè)重要的概念是我所說的“一站購物式軟件,,[one-stop-shopping

software]o一旦你用C#寫代碼,你就在這一個(gè)地方寫了一切。不再需要頭文件、

IDL(接口定義語言)文件、GUID和復(fù)雜的接口。因?yàn)樗亲园莸膯卧R?/p>

旦用這種方式寫自描述的代碼,你就可以把你的軟件嵌入到ASP頁面或植入各

種不同的環(huán)境,這在以前是不可能的。

但是讓我們?cè)倩氐浇M件這個(gè)重要的概念。語言是否應(yīng)該支持屬性或事件,

業(yè)界有很多爭(zhēng)論。沒錯(cuò),我們是可以用方法表達(dá)這種概念。我們可以用諸如“get”

或“set”之類的程序塊的命名模式模擬屬性的行為。我們可以用接口和實(shí)現(xiàn)接口的

適配器并轉(zhuǎn)發(fā)到對(duì)象。這都是可能實(shí)現(xiàn)的,就象可能在C語言里進(jìn)行面向?qū)ο?/p>

編程一樣。只是它太困難了,需要太多的手工勞動(dòng),為了表達(dá)你真正的思想,你

最終不得不去做所有的工作。我們認(rèn)為是時(shí)候了,應(yīng)該有個(gè)語言使得創(chuàng)建組件變

得容易些。今天程序員在創(chuàng)建軟件組件。他們并不是創(chuàng)建整個(gè)應(yīng)用或整個(gè)類庫。

每個(gè)人都是在創(chuàng)建從宿主環(huán)境提供的基組件繼承下來的組件。這些組件重載一些

方法和屬性,它們處理一些事件,并把組件安裝同系統(tǒng)。樹立這些概念是關(guān)鍵的

第一課。

Osborn:你最近在介紹C#時(shí),第一張幻燈片上面寫著:“C/C++家族里第

一個(gè)面向組件的語言

Hejlsberg:是的。這是我的首要目標(biāo)之一。我們談?wù)撘磺腥绾味际菍?duì)象,

這也非常關(guān)鍵。以前象Smalltalk和Lisp語言都可以這么做,但代價(jià)昂貴。我認(rèn)

為C#包含一些優(yōu)美有趣的創(chuàng)新使得組件開發(fā)容易些。例如裝箱和拆箱的概念。

裝箱可以使一個(gè)值類型的值轉(zhuǎn)換為?個(gè)對(duì)象,拆箱可以使?個(gè)對(duì)象轉(zhuǎn)換為一個(gè)簡(jiǎn)

單類型的值。這在以前或許也有,但我們把它應(yīng)用于語言的方式是一種優(yōu)美的創(chuàng)

新。

我們努力避免用“象牙塔”的方式設(shè)計(jì)C#和.Net框架。我們承受不起重寫

我們所有的軟件的負(fù)擔(dān)。業(yè)界也負(fù)擔(dān)不起,特別是今天我們正轉(zhuǎn)移到Internet時(shí)

代。你要善于利用你已經(jīng)擁有的。所以,我認(rèn)為互操作性也是關(guān)鍵的。我們致力

于為程序員提供所有符合Internet標(biāo)準(zhǔn)的可互操作的正確的解決方案,例如

HTTP、HTML、XML以及微軟已經(jīng)存在的技術(shù)。所以你不會(huì)有如墜深淵的那…

刻一發(fā)現(xiàn)新的.NET框架下沒有提供你用的一些東西,或者你意識(shí)到你想利用一

些已經(jīng)存在的API或組件的時(shí)候。你已經(jīng)看到我們已把所有COM的互操作能力

內(nèi)建入語言和公共運(yùn)行時(shí);你已經(jīng)看到可以使用DHImport特性導(dǎo)入已存在的

DLL[動(dòng)態(tài)連接庫];你已經(jīng)看到即使那些都不能遂你愿,我們也有不安全代碼的

概念。不安全代碼允許你寫使用指針的內(nèi)聯(lián)C代碼,可以做不安全的造型轉(zhuǎn)換,

可以抑制內(nèi)存從而使其不會(huì)被意外地垃圾收集[譯注:此處用作動(dòng)詞J]o

關(guān)于不安去代碼有很多爭(zhēng)論,人們似乎認(rèn)為我們?cè)谖净蚴窃诟墒裁磩e

的壞事。我認(rèn)為這是個(gè)誤會(huì)。代碼不會(huì)僅僅因?yàn)闃?biāo)記了“不安全”就表示它不受管

制。當(dāng)然,我們不會(huì)扔出不安全的指針使人們?nèi)菀资艿綇腎nternet下載的不安全

代碼的攻擊。不安全代碼被深深地約束在安全的環(huán)境里。我們提供這樣的彈性:

1.呆在受管制的代碼箱里完成工作而不會(huì)墜入深淵;2.轉(zhuǎn)入一個(gè)不同的語言使用

一個(gè)不同的編程模型寫本地代碼。如果你停留在這個(gè)箱子里,我們會(huì)使代碼更加

安全,因?yàn)橄到y(tǒng)知道它要干什么。事實(shí)上,即使你寫不安全代碼也不意味著你離

開了受管制的空間。你的不安全代碼會(huì)變得更有效率。

Osborn:請(qǐng)給我多講一些在受管制的環(huán)境里處理不安全代碼的機(jī)制。

Hejlsberg:好的。描述受管制的執(zhí)行環(huán)境比如Smalltalk、Java和.NET公

共語言運(yùn)行時(shí)一個(gè)重要特征是它們提供垃圾收集機(jī)制。為了提供垃圾收集機(jī)制,

至少要提供一個(gè)現(xiàn)代的垃圾收集器,一個(gè)“標(biāo)記和清掃”垃圾收集器。比起傳統(tǒng)不

受管制代碼來說,你必須更多地了解正在執(zhí)行的代碼。為了找出要排除的死對(duì)象,

你必須能遍歷堆棧,找到所有活動(dòng)的根,并指出哪些對(duì)象是活動(dòng)的哪些是不再被

訪問的。然而,為了能夠達(dá)到這個(gè)目標(biāo),你必須和你執(zhí)行的代碼緊密協(xié)作。代碼

必須具有更好的描述性。它要告訴你它是怎么分布在堆棧里的,它的局部變量存

放在何處等等。

當(dāng)我們?cè)贑#中編寫不安全代碼時(shí),你可以做不是類型安全的事,比如指

針操作。標(biāo)記為不安全的代碼并非絕對(duì)執(zhí)行在不可信任的環(huán)境里。為了使之執(zhí)行,

你必須授予信任,否則,代碼將不會(huì)執(zhí)行。從這一點(diǎn)來看,

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論