版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
計算機人物傳記(一)
美媒披露世界最早一批女性電腦高手往事
她們60年前開始玩電腦,曾為世界上第一臺計算機編程序,也是世界上第
一批“黑客”,曾為世界第一臺電子計算機ENIAC編寫過程序。
據(jù)美國媒體5日報道,在電腦時代,許多老年人不甘落后,然而鮮為人知的是,
在美國仍然生活著幾名80多歲的“奶奶級”電腦高手:她們曾在二戰(zhàn)中幫助軍方
精確地計算出炮彈發(fā)射軌跡,曾為世界上第一臺電子計算機編寫程序,還是世界
上第一批“黑客”.半個多世紀來,人們對這批“奶奶級”電腦高手毫無所知,直到日
前,她們的故事才首次浮出水面,并正在被拍成一部名叫《隱形電腦:ENIAC程序
師的故事》的紀錄片.
紀錄片制片人(左)和4名“奶奶級”電腦高手在一起,她們分別是貝蒂(左二)、馬琳
(左三)、凱瑟琳(右一),前排坐著的貝蒂?辛德?霍伯頓目前也已去世.
孫子炫耀牽出傳奇故事
現(xiàn)年83歲的美國新澤西州老太太貝蒂?巴蒂克是5個孫子的祖母,喜歡上網(wǎng)打
橋牌.然而鮮為人知的是,她其實是世界上最早的?批女性電腦高手,她曾為世界
上第一臺計算機編過程序.
對于這一點,即使十分熟悉貝蒂的朋友也不知道.不過,貝蒂的孫子亞歷克斯
卻早就知道奶奶的秘密.一天,他在學校里向老師炫耀說,自己的奶奶是世界上最
早的計算機先驅和電腦高手.當時,老師以為小孩子是在吹牛,還狠狠批評了他一
頓.為了還兒子一個誠實的名聲,亞歷克斯的父母親自到學校向那名教師解釋了一
切.
幫助軍方計算彈道軌跡
貝蒂的傳奇故事隨即引起了歷史學家的關注.
據(jù)悉,貝蒂和計算機打上交道可以說是陰差陽錯.1945年,當時20歲的貝蒂還
是美國密蘇里州西北教師學院一名數(shù)學專業(yè)的女大學生.隨著二戰(zhàn)接近尾聲,美國
陸軍由于缺少男數(shù)學家計算彈道發(fā)射軌跡,開始在賓夕法尼亞州大學發(fā)起了一項
絕密的“阿伯丁試驗場”行動,招募女性成為計算彈道軌跡的“人體計算機,,.
貝蒂成功地被美國陸軍錄用,成了一名“軍中數(shù)學家”,幫助陸軍精確地計算各種武
器的彈道軌線.與貝蒂一同被招募的還有另外5名女學生.
為首臺計算機編寫程序
二戰(zhàn)結束后,貝蒂繼續(xù)為軍方從事計算機研究工作.1946年,她和另外5名女伙伴
開始為世界上第一臺電子計算機ENIAC編寫程序.1949年,她又幫助美國諾斯羅
普航空公司為世界上第一臺商用計算機UNIVACI設計邏輯程序,這臺計算機在
1951年首次被美國人口普查署投入了使用.
據(jù)悉,為世界上第一臺計算機ENIAC編寫程序堪稱是一項考驗身體毅力、創(chuàng)造力
和耐力的嚴峻工作,因為這臺機器在當時來說實在太復雜了,它占地170平方米,
重達30噸,包含了大約18000個電子管、70000個電阻器和至少3000多個開
關.1946年2月,美國陸軍軍械部和賓夕法尼亞大學莫爾學院聯(lián)合向世界宣布
ENIAC的誕生,從此揭開了現(xiàn)代電子計算機發(fā)展和應用的序幕.
世界上第一批“黑客”
據(jù)悉,貝蒂甚至還是世界上最早的女“電腦黑客”,因為在早期的計算機程序研究中,
她和其他5名女同事還曾合法地"黑''過世界上首批計算機中的一臺,并將它轉變
成了一臺程序儲存器,從而幫助計算機真正地邁入了數(shù)字化時代.
貝蒂婚后生有3名兒女,為了照顧3個孩子,幾年后她被迫離開了計算機研究行業(yè).
被美國計算機史遺忘
據(jù)悉,在6名最早的女性電腦高手中,目前只有3人還活在世上,都已是80多歲高
齡.
幾十年來,貝蒂和她的5名女同事一直被美國計算機史所忽略和遺忘.在ENIAC計
算機發(fā)明40周年慶祝典禮中,這些最早的先行者甚至沒有獲得邀請,唯一一名被
邀請的女性還是作為另一名計算機專家的配偶出現(xiàn)的.
最近,貝蒂的故事正被拍成一部紀錄片.據(jù)紀錄片制片人、計算機歷史學家凱西?克
萊曼說:“這部紀錄片不僅僅是講述她們的傳奇故事,而且對美國目前的計算機業(yè)
具有重要意義,因為如今的美國計算機界仍是男性主宰的世界.而這幾位‘奶奶級’
電腦高手的事跡證明,女性在計算機研究上的能力絲毫不亞于男性
丹尼斯?利奇?傳奇的締造者——C語言之父訪談
DennisMRitchie(丹尼斯?里奇),C語言之父,UNIX之父。
C語言是使用最廣泛的語言之一,可以說,C語言的誕生是現(xiàn)代程序語言革
命的起點,是程序設計語言發(fā)展史中的一個里程碑。自C語言出現(xiàn)后,以C語
言為根基的C++、Java和C#等面向對象語言相繼誕生,并在各自領域大獲成功。
但今天C語言依舊在系統(tǒng)編程、嵌入式編程等領域占據(jù)著統(tǒng)治地位。
C語言,這種最有效、最通用的編程語言,就是他開發(fā)的,而這還是他在做
另一個項目時的副產(chǎn)品。DennisRitchie還和KenThompson一起開發(fā)了Unix操
作系統(tǒng),因此,他還是名副其實的UNIX之父。現(xiàn)年64歲的40年如一日在貝爾
實驗室/朗訊科技公司(原AT&T實驗室)工作,現(xiàn)在是計算科學研究中心系統(tǒng)
軟件研究部主任。
從二十世紀七十年代起,他的工作得到了很多計算機組織的公認和表彰,如:
美國計算機協(xié)會(ACM)授予的系統(tǒng)及語言杰出論文獎(1974);電氣和電子工程師
協(xié)會(IEEE)的EmmanuelPiore獎(1982);貝爾實驗室特別人員獎(1983);美國計
算機協(xié)會(ACM)的圖靈獎(1983);NEC公司的C&C基金獎(1989);電氣和電子
工程師協(xié)會(IEEE)的優(yōu)秀獎章(HammingMedal)(1990)等等。
目前,DennisM.Ritchie正擔任貝爾實驗室/朗訊科技公司(原AT&T實驗室)
下屬的計算科學研究中心系統(tǒng)軟件研究部的主任一職。該中心位于美國新澤西州
的MurrayHilL
1978年BrianW.Kernighian和DennisM.Ritchie出版了名著《C程序設計語
言(TheCProgrammingLanguage)》,現(xiàn)在此書已翻譯成多種語言,成為C語
言方面最權威的教材之一。
大師的修煉之道
在Ritchie的成長歷程中,有兩個人對他的影響最大,一個是他父親,而另
一個是他的摯友,同為UNIX發(fā)明人的KenThompson。尤其是后者,我們可以
從后面他對此問題的回答中得到印證。
有人問過Dennis,他的偶像是誰,不論在計算機領域還是其他領域?
他說:我不是在英雄熏陶下成長起來的。很顯然,對我職業(yè)生涯影響最大的
人物是KenThompson。UNIX大部分是他的工作,同樣也是C語言的前輩,同
樣Plan9系統(tǒng)的大部分工作也是他做的。并且在這其間Ken做了第?個計算機
象棋大師。
Ritchie生于1941年9月9日的紐約Bronxville,獲得學士學位并且獲得哈
佛大學更高的學位,在那里以肄業(yè)生資格學習物理,以研究生資格學習應用數(shù)學。
也正是在這時候,?個偶然的機會改變了他一生的選擇。Ritchie這樣描述他的
轉變,當他聽取一些非課程類的計算機講座后(大約1960年),開始對計算機
著迷,并選擇了一學期正規(guī)(介紹性的)課程。第一部分是模擬計算機,后面是
關于打孔卡片設備的,然后是關于真正的數(shù)字式計算機的,并為UnivacI號機準
備了一個程序。當時他是一個主修物理學的學生,但是更加著迷于計算機處理的
理論和實際問題。因此,他的畢業(yè)論文大部分是理論方面的(遞歸函數(shù)的層次),
但是也開始投入更大精力到實踐方面。作為助教為同一個介紹性課程的后續(xù)版本
工作了三年——不過那時計算機已經(jīng)成了IBM7049o
1968年獲得數(shù)學博士,而論文正是上面的《遞歸函數(shù)的的層次》。
1967年加入貝爾實驗室,他的父親AlistairE.Ritchie在那里有長時間的工作
經(jīng)歷,他的父親對晶體管電路類的東西很有研究,正是由于父親的影響,也使得
他走上了科學研究之路。
不久后,加入了Multics項目,那時由貝爾實驗室、麻省理工學院和通用電
器三家的合作項目。Ritchie負責多道處理機的BCPL
語言和GE650的編譯器,它們都是屬于GECOS系統(tǒng)的。同樣的,他也寫
了ALTRAN語言的代數(shù)編譯器,那是用于符號計算機的一種語言和系統(tǒng)。
圖:Dennis在辦公室里
后來,Ritchie先生協(xié)助KenThompson做UNIX操作系統(tǒng)。在UNIX系統(tǒng)基
本就緒并且在教育、政府和商業(yè)中得到一定程度的應用時,SteveJohnson和他(在
Ken幫助下)開始將這個操作系統(tǒng)移植到Interdata8/32上,通過這種方式證明其
輕便性,基于UNIX快速的傳播:貝爾實驗室的第7版已經(jīng)成為商業(yè)化UNIX的
第五版和BSDUNIX的基礎。
在UNIX發(fā)展之前,他向Thompson的B語言中加入數(shù)據(jù)類型和新的句法,
就這樣產(chǎn)生了一種新語言——C,這也是他說Thompson是C語言的前輩的原因。
C是便攜式UNIX的基礎,并且它也在其它領域得到了廣泛應用;計算機各方面
的應用程序和系統(tǒng)發(fā)展,從手持設備到巨型機,都有對它的應用。有美國標準和
國際標準的C語言,并且它是后來Stroustrup寫的C++語言的基礎。
他從來沒有間斷過在計算機及其操作系統(tǒng)方面的工作。也因此,他所領導的
研究小組開發(fā)出了Plan9和Infernoo
Ritchie的業(yè)余生活也非常精彩,工作之余,他喜歡干什么呢?
他這樣描述自己的生活,干好多糾纏不清的事,大部分是和計算機相關的。
另一方面,也讀讀書看看報。另一項愛好是旅行,他到過很多地方,特別喜歡旅
行,但每次時間都不是很長。他是一個戀家的人,因而有時旅行不久后感到相當
疲乏,但喜歡回想旅行經(jīng)歷,這時就很希望能擠出時間在一個具有異國情調(diào)的地
方待得時間長一點。
曾有人問過下面的問題,對于一個人是如何涉足軟件工業(yè)領域的,不同人有
不同的回答。是什么使Ritchie選擇了她,又是什么使得他在此領域如此瀟泗呢?
他的同答很簡潔:興趣和好奇心!
他說:我開始對于物理學比較感興趣,現(xiàn)在仍然是一個業(yè)余愛好者,試圖跟
上物理學的一些新東西。早先上大學時包括讀研究生,我在計算機理論方面花了
不少時間(如圖靈機、復雜性理論)。這其間,我對真實的電腦也非常著迷,著
迷于所編即所見的經(jīng)歷:當你編出一個程序,便能立即看到你的思想的實現(xiàn)!所
有的事情以一種非常有趣的方式聯(lián)系在了一起,也正是這一類的東西促使我進入
這一領域。但不知什么原因,我沒有想過我正在這一領域做什么,即使時光倒流
到1968年,我想也是如此。
DMR先生對問題的描述非常簡潔。
問:您的生活是怎樣和計算機聯(lián)系在一起的?
DMR:在大學的時候我開始對它感興趣(大約1960-61年),我參加了…
個非學術性的講座,關于大學里的UnivacI(通用自動計算機I號),然后就選修
了一些課程。
問:您覺得怎樣才是學編程的好方法?學習語言時一種好的工具是不是必需
的?
DMR:我想你最有必要做下面的事情——編一些小程序,然后編大一點的。
問:怎樣才算是一種好的大學教育呢?尤其對計算科學來說。
DMR:教育知識面最好要寬一些,不要僅僅局限于編程。即使是編程,最
好多學兒種語言。我在大學時花了兒年時間學習物理和計算理論知識,現(xiàn)在我仍
然對當時的選擇比較滿意。
貝爾實驗室出大師
圖:圖片看貝爾實驗室的發(fā)展
C語言或Unix,任一項發(fā)明足以讓Dennis成為一代又一代程序員們的偶像。
但當我們接觸這位偉人之后發(fā)現(xiàn),Dennis是一位非常低調(diào)的人,形成對照的是他
在軟件業(yè)成就輝煌的40年。今天,當初與他同期加入貝爾實驗室的科學家中,
多數(shù)人都已安享晚年或是自立門戶成為老板,而Dennis還是一如既往地在這里
從事自己喜歡的研究工作,著書立說,潛心編程。在完成C語言和Unix兩座高
峰后,他還帶領他的研究小組開發(fā)出了新一代操作系統(tǒng)Plan9和Infemoo
C語言和UNIX的發(fā)展歷程,還讓我們從側面見證了業(yè)界流流傳很久的話題:
貝爾實驗室出大師!而在談到貝爾實驗室成功的原因時,Dennis的評價只有四個
字:管理得到!
貝爾實驗室是全球馳名的研發(fā)機構,遍布全球16個國家,自1937年以來已
經(jīng)產(chǎn)生出11位諾貝爾獎獲得者。貝爾實驗室的科學家和研究人員自1925年以來
已經(jīng)獲得了40000多項發(fā)明,30000多項專利,平均每個工作日超過4項,是全
球最多產(chǎn)的發(fā)明源泉之一。
貝爾實驗室原名“貝爾電話實驗室”,1996年10月正式改稱“貝爾實驗室”
(BellLabs),先后為AT&T和朗訊科技公司的研發(fā)機構,也是后者得以成立
的支柱。它主要從事通信科技的基礎研究和技術發(fā)展工作,目前還從事通信系統(tǒng)
和設備的研制工作。
自1925年成立之時起,它一直是世界上規(guī)模最大、通信科技和控制等方面
最先進、優(yōu)秀人才最集中和科技成果最突出的工業(yè)研究實驗室或研發(fā)機構。它的
工作人員從成立時的3600人和年經(jīng)費1200萬美元發(fā)展到1991年的29000人和
37億美元。在1999年,雇員人數(shù)仍為25000人,年經(jīng)費36.78億美元,依然
雄居世界研發(fā)機構的榜首,被稱為“世界首要的研發(fā)機構''和研發(fā)的“象牙之塔
圖:KenThompson(2c)和DennisRitchie從克林頓手中接地過國家技術獎
草
問:在AT&T和Bell實驗室有這樣多的1T發(fā)明和著名人物,您覺得有什么
秘決嗎?
DMR:我覺得這得益于我們的管理,使得有足夠資金資助研究,更重要的
是給予充足的時間和允許某些思想發(fā)展的時間。很幸運的另一點是,這里有一批
天才人物的加入。還有一定程度的幸運在里面:1970年代,在計算機硬件條件
(如小型機)發(fā)生了巨大的變化,這樣使得許多機構可以順利地開展實驗,而這
之前是很困難的。
C語言是Dennis的得意這筆,對于這一筆,他看得非常平靜,當問到他對C
語言的將來做一下預測時,他的回答十分簡潔:C語言正在被C++,也可能是Java
所替代,也可能是更高級的腳本語言。當然,它在關于系統(tǒng)一類設計中還是相當
強的工具。
問:您能對IT的將來做一下預測嗎?將來我們最有可能用什么語言?
DMR:我對預測不在行,但是很明顯,人們正在從象C語言之類的直接編
譯型語言,轉換到注重解釋性的語言,象某些腳本語言。
問:您對面向對象是怎樣理解的?它是不是一種好的可接受的編程思考方
式?有沒有學習00必須的有用的工具?
DMR:我看過00的東西但我現(xiàn)在還不是00迷。這種思想是非常好的,
也即是通過隱藏任務的執(zhí)行來定義界面,但是它可能做得有點過火;它以很難發(fā)
現(xiàn)工作本質的程序終結;它的所有的東西就是界面。
問:數(shù)學和計算機科學有什么關系嗎?
DMR:我覺得計算機科學就是:包括工程學在內(nèi)的對數(shù)學的應用。
問:現(xiàn)在的大學有部分學生中途退學,您怎樣看待這現(xiàn)象呢?
DMR:在.com泡沫時期,我曾經(jīng)為此非常擔心,現(xiàn)在,至少現(xiàn)在在我們國
家,好象不很普遍了??赡茉蛟谟冢藗円呀?jīng)不再把計算機科學看作可以立即
賺到大把美金的東東了,因此,現(xiàn)在其他的人對這門學科本身更感興趣一點。
問:您對中國和中國的程序員有什么認識?您想對他們說點什么嗎?
DMR:我訪問中國好多次,但每次都很短暫,以至于很難形成一個一般的
看法。上一次我還記得,在大學的見面會上,我講了一些當時正在從事的工作的
情況和歷史,學生們的態(tài)度非常熱情,他們提問所表達出的知識面也很寬博。
問:您怎樣教育自己的孩子和學生?
DMR:兩者我都不可能有!我沒結婚,并且我是在工業(yè)系統(tǒng)而不是學術機
構中。
C語言、UNIX雙雙飛
C語言是一門偉大的語言,一門偉大的承前啟后的語言。C語言是借助Unix
操作系統(tǒng)的翅膀而起飛的,Unix操作系統(tǒng)也由于C而得已快速移植落地生根,
兩者相輔相承,成就了軟件史上最精彩的一幕。而對于C的誕生,大師對他的
描述是那樣地不經(jīng)意。C語言的發(fā)展頗為有趣。它的原型ALGOL60語言。
1963年,劍橋大學將ALGOL60語言發(fā)展成為CPL(CombinedProgramming
Language)語言。
1967年,僉慚大學的MatinRichards對CPL語言進行了簡化,于是產(chǎn)生了
BCPL語言。
1970年,KenThompson將BCPL進行了修改,并為它起了一個有趣的名
字“B語言”。意思是將CPL語言煮干,提煉出它的精華。
而在1973年,B語言也給人“煮”了一下,在B語言的基礎上最終設計出了
一種新的語言,他取了BCPL的第二個字母作為這種語言的名字,這就是C語
言。
為了使UNIX操作系統(tǒng)推廣,1977年DennisM.Ritchie發(fā)表了不依賴于具
體機器系統(tǒng)的C語言編譯文本《可移植的C語言編譯程序》。
1978年BrianW.Kernighian和DennisM.Ritchie出版了名著《C程序設計語
言(TheCProgrammingLanguage)》,從而使C語言成為目前世界上流行最廣
泛的高級程序設計語言。
1988年,隨著微型計算機的日益普及出現(xiàn)了許多C語言版本。由于沒有統(tǒng)
一的標準,使得這些C語言之間出現(xiàn)了一些不一致的地方。為了改變這種情況
美國國家標準研究所(ANSI)為C語言制定了一套ANSI標準,成為現(xiàn)行的C語
言標準。
C語言發(fā)展迅速,而且成為最受歡迎的語言之一,主要因為它具有強大的功
能。許多著名的系統(tǒng)軟件,如DbaselllPLUS、DbaseW都是由C語言編寫的。
用C語言加上一些匯編語言子程序,就更能顯示C語言的優(yōu)勢了。C++、Java
等語言受C語言影響深刻。
在技術方面,曾有人問Dennis,C語言設計目標有沒有隨著時間推移而改
變?如果沒變,為什么?
他說:我個人的目標這些年來一直未變,并且,我不是1989和1999年標準
的主要推動者。無論1989年ANSI標準還是ISO標準都使事情制度化了,這些
條文比我最初寫的文檔要好;最需要加以說明的是我早先關于函數(shù)原型做的工
作,對C++語言的影響是非常重要的一個影響。
而在關于眾多計算機語言的激烈辯論中,始終處在中心位置的C語言作者
Dennis卻顯得很平靜。西班牙的一位大學生曾經(jīng)問過他類似的問題:如果UNIX
被選為過去和當前的操作系統(tǒng),盡管過去兒年出現(xiàn)了一些面向對象的語言,毫無
疑問C也將被認為是“唯一的語言"。你怎么看待C++和Java,吸C和C++
程序員之間在UseNet上經(jīng)常發(fā)生的激烈爭論呢?
他說:C++的很大一部分得宜于Co因為C早在C++出現(xiàn)之前就已經(jīng)具
有了非常好的兼容性,所以C++才可以采用C作為建構自身的基礎并使用它
來開發(fā)自己的編譯器。C被設計成為一種便攜式匯編語言,對于這一特性人們
褒貶不一,C++則試圖把編程方法提高到面向對象這種更抽象的層次上來。從
最近形成的標準來看,二者共同的缺點是:帶有過多的裝飾和附屬物。同樣的,
它們都采用了相同的編程思想,都試圖按照真正的需求來編寫代碼。Java顯然
是C++的改進版本。它砍掉了C中的指針操作部分,引入了生成獨立于機器
的目標文件這種編程思想(雖然這個思想并不是很新的,但是也許直到現(xiàn)在它才
真正可行了)。既然Sun和Microsoft公司(它的產(chǎn)品同樣的有過多的裝飾附件)
已經(jīng)把Java作為它們之間競爭的工具,誰也難以預料事態(tài)將向何處發(fā)展。
圖:KenThompson和DennisRitchie在PDP111971
問:您是怎樣發(fā)明C語言的?發(fā)明的過程是什么樣子的。它對您的生活和
研究有什么影響嗎?
DMR:公正地說,發(fā)明C語言的目的是:為了寫編譯器和語言設計,為了
更易于編寫UNIX操作系統(tǒng)程序,我們做的一個可以在小型計算機上使用的工
具。Unix做的比較好,并且PC開始相當普遍,由于C語言在Unix上的很好地
應用,使得用它來寫應用程序和操作系統(tǒng)迅速增長起來。因此,對我來說,C語
言的確非常重要。
問:您覺得C語言和C++有什么不同嗎?
DMR:多年以來,C和C++,已經(jīng)是兩種不同的語言了;Stroustrup先生
汲取了C語言語法和潛在的語義學中的許多東西,形成了C++語言。在一些交
叉領域,標準委員會盡量使兩種語言兼容。
問:您覺得計算機語言和我們?nèi)祟惖恼Z言有什么不同呢?
DMR:計算機語言更加正式和明確,有統(tǒng)一的規(guī)則,當然,它們都是經(jīng)過
設計的。人類語言有語法,但相對來說不很正式,有些規(guī)則可以打破,當然,它
們有不同的目的——為了同人交流而不是同機器交流。
人物印象
DMR先生的專業(yè)精神令人感動,近40年如一日,在他所從事的領域辛勤
耕耘,而他的多項發(fā)明,包括C語言,Unix,也包括現(xiàn)在正在進行的Plan9,無
論哪一項,在軟件發(fā)展史上都有著舉足輕重的地位,和他的偉大成就形成對照的
是他的行事,態(tài)度低調(diào),他的表達,象他的軟件一樣,簡潔生動而準確。
C++的成功,很大一部分也來自于C,是C語言的普及和深入,才有了后面
的鳳凰涅盤,從另一個角度,在同另一語言大師Pascal之父NiklausWirth交流
時,C++的名字也是源自C語言的利器,Wirth先生不無惋惜地表示,后來他開
發(fā)的語言可惜沒叫Pascal20
安德斯?海爾斯伯格
AndersHejlsberg中文譯名:安德斯?海爾斯伯格,丹麥人,TurboPascal編譯
器的主要作者。進入微軟公司后,先后主持了VisualJ++和.Net。
目錄
??主要歷程
??Delphi和.NET之父:安德斯?海爾斯伯格
?,AndersHejlsberg的故事
??Borland創(chuàng)業(yè)故事
[顯示全部]
主要歷程編輯本段回目錄
1加入Borland公司之前
必77AndersHejlsberg
廿''Microsoft
Leddevwopmentteamfor
BodancfsDelphiandcurrentlythe
leadarchitectforMicrosoffsC#.
§100
MO!二…一二一二一「wINIT
AndersHejlsberg
安德斯?海爾斯伯格曾在丹麥技術大學學習工程,當時他在丹麥擁有個叫
PolyData的公司,他編寫了CompassPascal編譯器核心,后來叫PolyPascal。
2在Borland公司
安德斯?海爾斯伯格把CompassPascal編譯器核心授權給了美國Borland公
司,并作為雇員加入Borland公司,并且是后來所有TurboPascal版本與Delphi
前3個版本的架構師。PhilippeKahn為第一個版本的TurboPascal添加了用戶界
面與編輯器。
3加入微軟公司
據(jù)說,比爾?蓋茨親自參與了這次挖角行動,并許諾安德斯?海爾斯伯格在微軟將
得到技術上的足夠自由和資源支持。據(jù)說該事件也是微軟公司和Borland公司后
續(xù)官司的導火索。
4在微軟公司
進入微軟公司后,首先主持了VisualJ++的開發(fā)工作,后來由于在Java開發(fā)
工具授權問題上和Sun公司的糾紛,微軟停止了VisualJ++的后續(xù)開發(fā)。
這之后,作為.Net概念的發(fā)起人之一,安德斯?海爾斯伯格被任命為微軟.Net
的首席架構師,主持.Net的開發(fā)工作。
Delphi和.NET之父:安德斯?海爾斯伯格編輯本段回目錄
安德斯?海爾斯伯格(AndersHejlsberg,1960.11-),丹麥人,TurboPascal
編譯器的主要作者,Delphi和.NET之父
安德斯?海爾斯伯格曾在丹麥技術大學學習工程,當時他在丹麥擁有個叫
PolyData的公司,他編寫了Pascal編譯器核心,最初叫作CompassPascal,后來
叫PolyPascaLAnders把該編譯器核心授權給了美國Borland公司。安德斯?海爾
斯伯格作為雇員加入Borland公司,并且是后來所有Pascal版本與Delphi前3
個版本的架構師。PhilippeKahn為Pascal添加了用戶界而與編輯器。
AndersHejlsberg曾在丹麥科技大學學習工程學。AndersHejlsberg第一次登
上軟件界歷史舞臺是在80年代早期,因為他為MS-DOS和CP/M設計了一個
Pascal編譯器。當時,還是一個小公司的Borland很快雇用了他,并買下了他的
編譯器,改稱TurboPascal。在Borland,Hejlsberg繼續(xù)開發(fā)TurboPascal,并最
終帶領他的小組設計了TurboPascal的替代品、開發(fā)工具史上的奇跡:Delphi語
言。
1996年,AndersHejlsberg在Delphi3發(fā)布前離開Borland去了MS。
在此之前,MS曾多次企圖挖走Anders,但都沒有成功。據(jù)信anders去MS(主
要)不是錢的問題,雖然MS的開價也相當有吸引力:130萬美元年薪外加股票
期權和分紅,總計超過300萬美元。更主要的原因是Anders和Delphi開發(fā)組的
其他成員在修改編譯器的問題上發(fā)生了爭執(zhí);還有,據(jù)Borland內(nèi)部人講,Anders
認為自己不再是“不可缺少的人”。
Anders在Delphi3中幾乎沒有做什么工作,ChuckJazdzewski扮演了一個更
重要的角色。(—AndersOhlsson)Anders在Borland時把所有精力都放在了Pascal
產(chǎn)品上,也需要新的挑戰(zhàn),這時BillGates的親自邀請,許諾給與挑戰(zhàn)的機會,
Anders加入了Microsoft就勢在必行。
Microsoft用豐厚的薪水、股票認購權和巨額的加盟獎金雇請了Hejlsberg
之后,Borland曾提出通過不正當手段吸收新成員的控告。Borland還曾聲稱一
提供了很少的細節(jié)來支持指控一Hejlsberg正在開發(fā)“DelphiforJava"。這場訴
訟雖然最終以Borland的勝利而收場;但Anders已經(jīng)在為Microsoft工作了。
1996年Anders來到微軟后,直接主抓VisualJ++的研發(fā)工作,并在1999年
被授予“distinguishedengineer”(卓越工程師),在微軟僅有16人獲得這樣的榮
譽。
后來微軟希望通過開發(fā)最新的軟件開發(fā)語言來贏得軟件開發(fā)者的擁戴,在微
軟公司把視窗操作系統(tǒng)和軟件向網(wǎng)絡遷移的新市場戰(zhàn)略中,C#語言是最重要的
環(huán)節(jié)。微軟動用了最好的資源。Anders擔任了C#語言的首席設計師,同時也是
微軟.NET戰(zhàn)略構架的重要參與決策者??紤]一下Anders的經(jīng)歷,就不會奇怪微
軟將此重任交給他了。畢竟C#也不是他對軟件開發(fā)方式重大變革的首次。現(xiàn)在
經(jīng)過兒年時間的埋頭苦干,C#已成為微軟反擊Java語言的最有力武器。
鑒于他為軟件開發(fā)做出的巨大貢獻,Anders在《Dr.Dobb's》雜志的2001年
西部會'議上被授予"PrestigiousExcellenceinProgrammingAward”,《Dr.Dobb's》
雜志的主編JonathanErickson說:“這一榮譽,我們每年只頒給那些在軟件開發(fā)
領域做出非凡貢獻的人員,Anders開發(fā)的C#和他整個職業(yè)生涯中為軟件開發(fā)所
做出的巨大貢獻有目共睹,他無愧于這一榮譽!”
比爾蓋茨也高度評價說:“我們?yōu)锳nders獲得這一榮譽感到無比自豪,Anders
在C#創(chuàng)建中所做的努力將會改變現(xiàn)在的軟件開發(fā)方式,并將在以后的十年繼續(xù)
產(chǎn)生影響。”
“程序員是最好的職業(yè)“,Anders說:“每兩年,CPU的速度要加倍,內(nèi)存容
量是原來的四倍,但是我們的大腦還是原來的大小,很顯然,將需要更多的程序
原來補充這些?!?/p>
注:海爾斯伯格曾在微軟博物館視頻上表明他是1960年生的,但很多其它
資料顯示,他是1961年生的。2006年,在巴塞羅那微軟技術教育大會(TechED)
上,安德斯再次確認他生于I960年。
AndersHejlsberg的故事編輯本段同目錄
在我的世界里,AndersHejlsberg是如同神一般存在的人物.
Delphi和C#的締造者,Borland的創(chuàng)始人之一,現(xiàn)在Microsoft的核心人物之一,
在一定程度上影響著這個世界的發(fā)展.溫文爾雅,為人低調(diào).不管在Internet中還是
在現(xiàn)實生活中,都找不到太多關于他的信息.進入Microsoft已有九年,只是到了近
兒年隨著dotNet的問世才開始在公眾面前出現(xiàn).像他這樣的人,擁有別人艷羨的財
富,名譽和地位,卻甘心默默無聞的工作.我想,當年他接受Microsoft邀請的唯一緣
由,就是Microsoft能提供讓他的才華充分發(fā)揮的環(huán)境,而在Borland,他已被限制的
太多.
一個曾與他共同工作過的同事在BLOG寫道,AndersHejlsberg擁有不可思議
的個人魅力和語言表達能力,得到了所有人的尊敬,并令人敬畏.
程序員是個特殊的行業(yè),這里中的每個人都智力出眾,驕傲無比,并以此自負.
有句經(jīng)典的話:管理程序員,就像放牧一群驕傲的貓.我不知道,只能去想象,在這個
行業(yè)中,一個溫文爾雅卻能讓同行競爭對手感到“敬畏”的人,到底是個什么樣的人.
也許,因為在他身上體現(xiàn)出的,正是程序員們追求的終極之道:以精神魅力征服世
界,而不是物質魅力.
AndersHejlsberg曾在丹麥科技大學學習工程學,他編寫的Pascal編譯器的
核心,1981年將Pascal編譯器賣給了Borland,并加入Borland公司,那時■的Borland
公司還是一個名不見經(jīng)傳的小公司。
AndersHejlsberg在Borland主持開發(fā)了TurboPascal,TurboPascal獲得一直
好評,AndersHejlsberg并未止步不前,他將TurboPascal編程-一種面向對象的、
擁有可視化環(huán)境和卓越的數(shù)據(jù)庫訪問特性的應用程序開發(fā)語言一Delphi。
Java出現(xiàn)了。AndersHejlsberg在Borland一直郁郁不得志,據(jù)Borland內(nèi)部
人士講AndersHejlsberg認為自己不再是不可或缺的人。比爾蓋茨慧眼識才,三
故茅廬,把AndersHejlsberg請到了微軟。最開始微軟許以重金,但Anders
Hejlsberg不為所動,當清楚AndersHejlsberg的想法后,比爾蓋茨答應給他一個
寬松的環(huán)境,既領導VisualJ++小組,并提供薪水和紅利獎金300萬美元。這樣
Borland這個大牛孵化器為微軟輸送了一位超級大牛。好景不長,SUN公司認為
微軟破壞了java的跨平臺性,很快微軟就會利用它的VJ++將java開發(fā)人員拉攏
到它的周圍,而它的VJ++以及WFC的很多特性明顯是為了Windows平臺設計。
SUN中止了對微軟的java授權。此后微軟便選擇AndersHejlsberg擔任C#的首
席設計師。
Borland創(chuàng)業(yè)故事編輯本段回目錄
記得大學時,第一個在PC上使用的軟件就是SideKick。這個至今讓我仍然
無法忘記的軟件,也曾讓許多人津津樂道,而Borland當時也就是以SideKick成
為全球知名的軟件公司。不過Borland第一個奠立創(chuàng)業(yè)基礎的軟件,卻是我大二
用來交作業(yè)的TurboPascal,而TurboPascal也是我聽到的第一個關于Borland的
有趣的故事。
當年PhilippeKahn(Borland的創(chuàng)始人)和AndersHejlsberg到美國創(chuàng)業(yè)時,便
由Anders以匯編語言撰寫了TurboPascal的編譯器,而Philippe則包辦了Turbo
Pascal其他的部分。在這兩位仁兄開發(fā)完TurboPascal之后,窮得快連登廣告的
錢都沒有了。Philippe為了在Byte雜志(還記得這個著名的雜志嗎?)刊登Turbo
Pascal的廣告,和Anders商量了一個方法,那就是直接約Byte雜志的人到當時
Borland的辦公室討論刊登廣告的事情。
當Byte的人到了Borland之后,Philippe>Anders和公司的助理小姐故意忙
著接電話,接受TurboPascal的訂單,并且告訴Byte雜志的人等一下。過了一
陣之后Philippe才進入房間向Byte的人道歉,說他們的TurboPascal受到市場的
熱烈歡迎,訂單源源不斷地到來,因此可能不需要在Byte雜志刊登廣告了,接
著Philippe向Byte的人展示TurboPascal這個產(chǎn)品。由于在當時的機器中Turbo
Pascal能夠在極少的RAM中常駐執(zhí)行,又提供閃電般的編譯速度,這立刻讓Byte
雜志的人當場震驚。憑著專業(yè)知識和豐富的經(jīng)驗,Byte的人立刻知道這將是一
個革命性的軟件,因此馬上希望Philippe能夠在Byte雜志刊登TurboPascal的廣
告,并且愿意以半價刊登。當然,Philippe也立刻爽快地答應了,于是一個革命
性的軟件TurboPascal終于在Byte雜志刊登出來了。當時售價49.99美元的Turbo
Pascal立刻為Borland帶來了大量的財富,TurboPascal也馬上成為PC上除了基
本的Basic之外最暢銷的開發(fā)工具,由此正式揭開了Borland影響PC開發(fā)工具
近20年的歷史的序幕。
TurboPascal是由AndersHejlsberg親自開發(fā)的,并且和PhilippeKahn談好
的條件是Borland每賣出一套TurboPascal,Anders便從中抽取一份版權費。由
于當時軟件的價格不算便宜,能夠寫編譯器的人更是少之乂少,所以編譯器工程
師通常都能夠獲得優(yōu)厚的報酬。因此當時AndersHejlsberg在完成了Turbo
Pascak并且和PhilippeKahn談好了合作條件之后,Anders理所當然地認為一套
TurboPascal會定價數(shù)百元美金,因為這不但是當時一?般編譯器的價格,而且
TurboPascal還內(nèi)含了一個開發(fā)環(huán)境和編輯器(Editor),這是當時許多工具沒有提
供的。
沒有想到極具商業(yè)頭腦的PhilippeKahn了解到:如果把TurboPascal定價在
數(shù)百美金,那么TurboPascal可能只會賣出數(shù)百到數(shù)千套,無法沖出大量的銷售
額。因此,PhilippeKahn以極大的勇氣,瞞著AndersHejlsberg只把TurboPascal
定價為49.95美金。這種價格在當時對于編譯器和開發(fā)工具來說簡直是不可思議
的低價。當AndersHejlsberg知道了PhilippeKahn的定價后,簡直快氣昏了。因
為在這么低的價格下Anders的版稅金一定少得可憐,因此當時Anders說他把最
好的Pascal開發(fā)工具拿去讓一個白癡銷售。沒有想到的是,PhilippeKahn的定價
策略獲得了極大的成功。TurboPascal以極佳的品質和令人不可思議的低價格成
為當時最具吸引力的Pascal開發(fā)工具。當然,在TurboPascal賣出了讓人難以置
信的成績之后,Anders便再也不提他把專業(yè)Pascal編譯器讓白癡去賣這件事了。
PhilippeKahn
關鍵產(chǎn)品-SideKick
雖然TurboPascal快速地讓Borland在當時全世界的程序員中成為最響亮的
軟件新星,但是真正讓Borland打人一般計算機使用人群、快速成長為軟件巨人
的大功臣的,卻是Borland早期最重要的產(chǎn)品-SideKick。
在TurboPascal之后,Borland接著推出了SideKick這套軟件。SideKick可
以說是隨后著名的內(nèi)存常駐軟件(TerminateandStayResident-TSR)的始祖,也是
Borland跨出開發(fā)工具領域、讓幾乎所有PC使用者認識Borland的關鍵軟件。
SideKick在當時以許多豐富的小工具和記事功能讓它成為每一個程序員愛不釋
手的工具。還記得當時我每天都會使用SideKick的ASCII對照表和計算器的功
能,因為在匯編語言(Assembly)盛行的時期,查閱ASCII對照表和在2進制、10
進制以及16進制之間進行轉換是每日必要的工作。
當然SideKick也很快成為了暢銷軟件,在全球狂賣數(shù)10萬套,繼續(xù)把Borland
往頂尖的軟件公司推進。
所謂的TSE代表TerminateandStayResident0這個意思是說,這類軟件在執(zhí)
行后會隱藏在內(nèi)存的某個位置中,但是并沒有出現(xiàn)在屏幕上。不過使用者通過一
個快捷鍵就可以立刻調(diào)出這類軟件讓使用者使用,在使用完畢之后又可以按一個
快捷鍵再度隱藏它。這樣的軟件運行方式在當時是一項全新的創(chuàng)舉。
以我的眼光來看,SideKick這個軟件對于Borland來說是非常關鍵的作品,
因為我將SideKick歸類成"消費型軟件”產(chǎn)品。所謂消費型軟件,是指可以被所有
計算機使用者使用的軟件,而不是只給程序員或是開發(fā)者使用的軟件。凡是現(xiàn)今
比較會賺錢或是規(guī)模比較大的軟件公司大都屬于開發(fā)"消費型軟件"的公司。例如
Microsoft除了有和Borland競爭得你死我活的開發(fā)工具之外,最重要的是
Microsoft擁有兩大”消費型軟件":Windows操作系統(tǒng)和Office。這兩類軟件才是
Microsoft最賺錢的產(chǎn)品。Oracle是另外一個很好的例子,數(shù)據(jù)庫兒乎是現(xiàn)在任
何應用都需要使用的軟件。同樣,SideKick就屬于這一類型的軟件,因為SideKick
可以被所有的開發(fā)者使用來增加生產(chǎn)力,而不管開發(fā)者使用的是什么語言。因此
當Borland推出SideKick之后,立刻在全世界狂賣,也成為繼TurboPascal之后
Borland最賺錢的產(chǎn)品。我認為在后來的數(shù)年之中Borland走得比較辛苦,便是
因為Borland再也沒有推出像SideKick一樣屬于“消費型軟件"的重量級產(chǎn)品,而
只有屬于程序員和開發(fā)者小眾市場的產(chǎn)品,這是非??上У氖虑?。而”消費型軟
件”也是到現(xiàn)在我仍然認為Borland應該推出的產(chǎn)品。
由于SideKick的TSR技術是當時獨一無二的,而且是如此的好用,這引起
了當時許多人的好奇,并且成了所有軟件廠商模仿的對象,我還記得稍后許多的
計算機信息書籍都以如何學習TSR技術作為賣點。也是因為SideKick和TSR太
成功了,因此Borland立刻進行了兩個工作。第一當然是馬上開發(fā)下一版的
SideKick,讓SideKick繼續(xù)執(zhí)類似軟件的牛耳,以防止其他軟件公司推出類似的
軟件來分食SideKick打下的天下。
很快地,Borland便推出了SideKick的后續(xù)版本,不但功能更多,而且
SideKick從原本完全以開發(fā)者為中心的軟件轉變?yōu)檫m合所有計算機使用者使用
的消費型軟件??纯醋髨D,從產(chǎn)品封面以"DesktopOrganizer”為主題便可以了解
到SideKick在當時的定位。果然,后續(xù)的SideKick又持續(xù)地大賣,這讓Philippe
Kahn非常振奮,也讓他雄心大盛,開始想要通過SideKick的成功主導PC軟件
的標準,這當然就是SideKick一舉成名的TSR技術。
在Borland通過TurboPascal和SideKick大獲成功之后,也因TSR技術成為
大多數(shù)開發(fā)者津津樂道的軟件公司,許多軟件公司都開始模仿Borland的TSR技
術開發(fā)大量的TSR軟件。不過當TSR技術大量被運作之后。最后卻造成眾多的
TSR軟件彼此沖突,無法正確地相互共存,這主要是因為許多TSR軟件都使用
了相同的快捷鍵來調(diào)出/關閉軟件,或是隱藏在相同的內(nèi)存位置。我還記得,當
時同時使用兒個TSR軟件時,必須遵照一定的運行次序才可以正常使用。
為了解決這個擾人的問題,Borland開始廣邀軟件公司,想要以Borland為
首制定TSR的標準。如此一一來,只要所有的軟件廠商遵照Borland制定的標準,
那么所有的TSR軟件就可以彼此正確地運行在PC之中。當Borland公布了這個
想法并且發(fā)表了初步的TSR標準規(guī)格之后,卻立刻引起了Microsoft的緊張。因
為當時TSR是如此的流行,Microsoft害怕TSR技術由Borland主導之后會讓
Borland成為PC軟件的霸主,進而嚴重影響Microsof想主宰PC的計劃。
因此在Borland開始正式制定TSR標準之際,Microsoft便站出來反對Borland
定義的TSR標準,并且聲明Microsoft將在未來的DOS操作系統(tǒng)中加入對于TSR
的支持,因此沒有必要再額外制定TSR標準。當時的軟件公司,包括Borland
在內(nèi),都無法和Microsoft對抗。在操作系統(tǒng)廠商表明了反對立場之后,Borland
的這個構想很快便迫于形勢而放棄了。關于TSR的爭議應該算是Borland和
Microsoft之間的第一場戰(zhàn)爭。雖然在沒有引起太大的烽火之前便很快收場,不
過也算是Borland和Microsoft第一次真正的交手。也正是由于這次的相爭,讓
Microsoft驚訝于Borland快速的興起,并開始正視Borland這家在當時還算小的
軟件公司。
雖然在有關TSR的技術之爭中Microsoft贏得了勝利,不過很奇怪的是,此
后TSR軟件反而開始慢慢地退燒。除了一些少數(shù)的公用程序軟件仍然使用TSR
之外,之后便沒有什么重量級的軟件是使用TSR技術開發(fā)的,這算不算是另一
樁Microsoft介入之后搞砸的技術呢?
最后再敘述一個從Borland老員工處聽來的有趣故事。許多人一直想要知道:
Borland的總部在哪里?或是想要知道:為什么Borland會選擇ScottValley作為
總部?事情的經(jīng)過是這樣的:
當年PhilippeKahn和AndersHejlsberg到美國準備開始創(chuàng)業(yè)時,由于沒有資
金,PhilippeKahn就在西餐廳打工,負責端盤子的工作,而AndersHejlsberg則
努力的在開發(fā)TurboPascalo
當PhilippeKahn存了一筆小錢之后,兩個人便開始了創(chuàng)業(yè)大計。首先他們
必須找到■個公司的總部,可是要在哪里實現(xiàn)PhilippeKahn和AndersHejlsberg
心中的理想呢?雖然當時他們住在L.A.附近,但是光憑PhilippeKahn存的一點
小錢是絕不夠在L.A.大展鴻圖的,因此PhilippeKahn和AndersHejlsberg決定到
比較偏遠的地方試試。于是這兩位仁兄便開著PhilippeKahn的破車往南出發(fā)了。
聽說當PhilippeKahn把車開到ScottValley附近時剛好沒有汽油了,眼看四周的
環(huán)境覺得還不錯,就決定在這個地方展開PhilippeKahn和AndersHejlsberg的創(chuàng)
業(yè)之夢。就是這個決定讓原本默默無聞的ScottValley在數(shù)年之后竟成為一個家
喻戶曉的高科技盛地。
C#首席設計師AndersHejlsberg專訪編輯本段回目錄
C#首席設計師AndersHejlsberg專訪
作者:JohnOsbom
譯者:榮耀
[譯序:精彩技術,不容錯過!限于時間和能力,譯文倘有訛誤,當以英文
原版為準。]
2007年7月,CTReiHy編輯JohnOsborn參加了微軟職業(yè)開發(fā)者會議。在此,
他對著名的工程師、微軟.Net框架設計師、C#程序語言首席設計師Anders
Hejlsberg進行了采訪。AndersHejlsberg因設計PC上最早的語言之一一Turbo
Pascal而出名。他把TurboPascal授權給Borland公司,后又率隊開發(fā)了Delphi—
一個極為成功的可視化的客戶/服務應用設計工具[譯注:此處不必拿MIDAS之
類較真J]o訪問時在座的還有微軟C#產(chǎn)品經(jīng)理TonyGoodhew和OReilly的
Windows編輯RonPetrushao
Osborn:我已經(jīng)看到一些關于C#[發(fā)音為"Seesharp”]的新聞故事,我注意
到有很多似乎傾向于這樣的觀點一或理論上說一C#不是Java的克隆就是Java的
微軟替代物。如果你來寫這個標題,你希望人們怎么評論這門語言?
Hejlsberg:首先,C#不是Java的克隆。在設計C#期間,我們考察了很多
種語言,如C++、Java、Modula2、C、Smalltalk等。很多語言都有我們感興
趣的相同的核心思想,比如深度面向對象、簡化對象等等。
C#和這些別的語言尤其是Java的關鍵不同點是它非常接近C++。在我們
的設計中努力使然。C#從C++直接借用了大多數(shù)的操作符、關鍵字和聲明。我
們還保留了許多被Java拋棄的語言特性。為什么Java中沒有枚舉,道理何在?
我的意思是,拋棄它們是基于何種理論基礎?在C++中,枚舉顯然是一個很有意
義的概念。在C#中,我們保留了枚舉并同樣使其類型安全。并且,枚舉不只是
整型,它們實際上是從.NET基類庫里的System.Enum派生下來的強類型的值類
型。如果沒有造型轉換,枚舉類型“foo”和枚舉類型“bar”不可互換。我認為這是
個重要的差異。我們還保留了操作符重載和類型轉換。C#名字空間的整體結構
也非常接近C++。
但是,超越這些傳統(tǒng)的語言論題,我們設計語言的一個關鍵的目標是使
C#面向組件。我們向語言自身加入了你在編寫組件時所需要的所有概念。例如
屬性[譯注:即property,翻譯為“屬性”,由來已久。我懷疑如果先有attribute的
話,property會不會被翻譯為“性質”、“特性",而attribute才是“屬性”:JL]、方法、
事件、特性[譯注:即attribute,截至目前,此名詞譯法仍較混亂。有的翻譯和
property不區(qū)分,也譯為“屬性”;有的譯為“特性”;有的譯為“屬性信息”。在該
名詞譯法尚未統(tǒng)一之前,本著精簡原則,筆者先把它翻譯成“特性”。但注意,
XML中的attribute的譯法-一般比較統(tǒng)一,即為“屬性’(因為XML中沒有一個類
似于property的東西會與之混淆)。因此,本文最后交叉描述C#和XML的部分,
請留心“特性”、“屬性”各有所指。]和文檔等,它們都是一流的語言結構。我們
對特性所做的工作是全新的和創(chuàng)新的。利用特性可為任何對象加入有類型的、可
擴展的元數(shù)據(jù)。這在目前任何其它程序語言里都看不到的。C#也是第一個合并
XML注釋標記的語言,編譯器可以用其直接從源碼中生成可讀的文檔。
另外一個重要的概念是我所說的“一站購物式軟件,,[one-stop-shopping
software]o一旦你用C#寫代碼,你就在這一個地方寫了一切。不再需要頭文件、
IDL(接口定義語言)文件、GUID和復雜的接口。因為它是自包容的單元。一
旦用這種方式寫自描述的代碼,你就可以把你的軟件嵌入到ASP頁面或植入各
種不同的環(huán)境,這在以前是不可能的。
但是讓我們再回到組件這個重要的概念。語言是否應該支持屬性或事件,
業(yè)界有很多爭論。沒錯,我們是可以用方法表達這種概念。我們可以用諸如“get”
或“set”之類的程序塊的命名模式模擬屬性的行為。我們可以用接口和實現(xiàn)接口的
適配器并轉發(fā)到對象。這都是可能實現(xiàn)的,就象可能在C語言里進行面向對象
編程一樣。只是它太困難了,需要太多的手工勞動,為了表達你真正的思想,你
最終不得不去做所有的工作。我們認為是時候了,應該有個語言使得創(chuàng)建組件變
得容易些。今天程序員在創(chuàng)建軟件組件。他們并不是創(chuàng)建整個應用或整個類庫。
每個人都是在創(chuàng)建從宿主環(huán)境提供的基組件繼承下來的組件。這些組件重載一些
方法和屬性,它們處理一些事件,并把組件安裝同系統(tǒng)。樹立這些概念是關鍵的
第一課。
Osborn:你最近在介紹C#時,第一張幻燈片上面寫著:“C/C++家族里第
一個面向組件的語言
Hejlsberg:是的。這是我的首要目標之一。我們談論一切如何都是對象,
這也非常關鍵。以前象Smalltalk和Lisp語言都可以這么做,但代價昂貴。我認
為C#包含一些優(yōu)美有趣的創(chuàng)新使得組件開發(fā)容易些。例如裝箱和拆箱的概念。
裝箱可以使一個值類型的值轉換為?個對象,拆箱可以使?個對象轉換為一個簡
單類型的值。這在以前或許也有,但我們把它應用于語言的方式是一種優(yōu)美的創(chuàng)
新。
我們努力避免用“象牙塔”的方式設計C#和.Net框架。我們承受不起重寫
我們所有的軟件的負擔。業(yè)界也負擔不起,特別是今天我們正轉移到Internet時
代。你要善于利用你已經(jīng)擁有的。所以,我認為互操作性也是關鍵的。我們致力
于為程序員提供所有符合Internet標準的可互操作的正確的解決方案,例如
HTTP、HTML、XML以及微軟已經(jīng)存在的技術。所以你不會有如墜深淵的那…
刻一發(fā)現(xiàn)新的.NET框架下沒有提供你用的一些東西,或者你意識到你想利用一
些已經(jīng)存在的API或組件的時候。你已經(jīng)看到我們已把所有COM的互操作能力
內(nèi)建入語言和公共運行時;你已經(jīng)看到可以使用DHImport特性導入已存在的
DLL[動態(tài)連接庫];你已經(jīng)看到即使那些都不能遂你愿,我們也有不安全代碼的
概念。不安全代碼允許你寫使用指針的內(nèi)聯(lián)C代碼,可以做不安全的造型轉換,
可以抑制內(nèi)存從而使其不會被意外地垃圾收集[譯注:此處用作動詞J]o
關于不安去代碼有很多爭論,人們似乎認為我們在吸毒或是在干什么別
的壞事。我認為這是個誤會。代碼不會僅僅因為標記了“不安全”就表示它不受管
制。當然,我們不會扔出不安全的指針使人們?nèi)菀资艿綇腎nternet下載的不安全
代碼的攻擊。不安全代碼被深深地約束在安全的環(huán)境里。我們提供這樣的彈性:
1.呆在受管制的代碼箱里完成工作而不會墜入深淵;2.轉入一個不同的語言使用
一個不同的編程模型寫本地代碼。如果你停留在這個箱子里,我們會使代碼更加
安全,因為系統(tǒng)知道它要干什么。事實上,即使你寫不安全代碼也不意味著你離
開了受管制的空間。你的不安全代碼會變得更有效率。
Osborn:請給我多講一些在受管制的環(huán)境里處理不安全代碼的機制。
Hejlsberg:好的。描述受管制的執(zhí)行環(huán)境比如Smalltalk、Java和.NET公
共語言運行時一個重要特征是它們提供垃圾收集機制。為了提供垃圾收集機制,
至少要提供一個現(xiàn)代的垃圾收集器,一個“標記和清掃”垃圾收集器。比起傳統(tǒng)不
受管制代碼來說,你必須更多地了解正在執(zhí)行的代碼。為了找出要排除的死對象,
你必須能遍歷堆棧,找到所有活動的根,并指出哪些對象是活動的哪些是不再被
訪問的。然而,為了能夠達到這個目標,你必須和你執(zhí)行的代碼緊密協(xié)作。代碼
必須具有更好的描述性。它要告訴你它是怎么分布在堆棧里的,它的局部變量存
放在何處等等。
當我們在C#中編寫不安全代碼時,你可以做不是類型安全的事,比如指
針操作。標記為不安全的代碼并非絕對執(zhí)行在不可信任的環(huán)境里。為了使之執(zhí)行,
你必須授予信任,否則,代碼將不會執(zhí)行。從這一點來看,
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年汽車維修配件采購與質量控制指南
- 高新技術企業(yè)認定與優(yōu)惠政策指南
- 建筑施工質量管理體系手冊
- 企業(yè)內(nèi)部審計人員培訓手冊(標準版)
- 信息技術服務標準與操作手冊(標準版)
- 工廠員工培訓制度
- 干部教育培訓重要制度
- 2026年酒店前廳經(jīng)理面試題及管理技巧參考
- 房地產(chǎn)公司現(xiàn)行培訓制度
- 幼兒崗前培訓制度
- 第六講通量觀測方法與原理
- 林規(guī)發(fā)防護林造林工程投資估算指標
- GB/T 23821-2022機械安全防止上下肢觸及危險區(qū)的安全距離
- GB/T 5563-2013橡膠和塑料軟管及軟管組合件靜液壓試驗方法
- GB/T 16895.6-2014低壓電氣裝置第5-52部分:電氣設備的選擇和安裝布線系統(tǒng)
- GB/T 11018.1-2008絲包銅繞組線第1部分:絲包單線
- GA/T 765-2020人血紅蛋白檢測金標試劑條法
- 武漢市空調(diào)工程畢業(yè)設計說明書正文
- 麻風病防治知識課件整理
- 安全安全應急救援預案(溝槽開挖)
- 權利的游戲雙語劇本-第Ⅰ季
評論
0/150
提交評論