自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

面向?qū)ο笾窤lan Kay:預(yù)測(cè)未來(lái),創(chuàng)造未來(lái)

原創(chuàng)
開(kāi)發(fā) 架構(gòu)
更多時(shí)候,Alan Kay是以面向?qū)ο蟪绦蛟O(shè)計(jì)和Smalltalk創(chuàng)世人的身份被我們記住,以軟件大師和計(jì)算機(jī)界泰斗的高度被我們仰視;但你是否知道,他還是個(gè)發(fā)明家。

【51CTO獨(dú)家特稿】在開(kāi)始正文之前讓我們先回答一個(gè)問(wèn)題,你使用過(guò)Alan Kay的某項(xiàng)發(fā)明嗎?如果你是個(gè)程序員,你會(huì)使用C、C++或Java進(jìn)行程序開(kāi)發(fā),那你應(yīng)該用過(guò)Alan Kay的發(fā)明,因?yàn)檫@些編程語(yǔ)言都或多或少?gòu)腟mallTalk語(yǔ)言中汲取養(yǎng)分,或者,在大學(xué)課程里,你一定學(xué)習(xí)過(guò)Alan Kay提出的面向?qū)ο缶幊痰幕纠碚摗?/p>

51CTO開(kāi)發(fā)頻道年終巨獻(xiàn):架構(gòu)師最怕程序員知道的十件事

如果你不是程序員,那么你用過(guò)(見(jiàn)過(guò))筆記本電腦,恭喜你,筆記本電腦這個(gè)概念最初也是由Alan Kay提出的;如果你覺(jué)得筆記本太奢侈,OK,你應(yīng)該在使用Windows或者M(jìn)ac,無(wú)論是哪種操作系統(tǒng),圖形用戶(hù)界面的概念是Alan Kay告訴喬布斯的。如果你還不承認(rèn),那么平板顯示器、無(wú)線(xiàn)網(wǎng)絡(luò)、以太網(wǎng)工作站、客戶(hù)機(jī)服務(wù)器模式和激光打印機(jī)的實(shí)現(xiàn)原理中,我們都能找到Alan Kay的影子。

[[7678]] 
面向?qū)ο笾窤lan Kay

更多時(shí)候,Alan Kay是以面向?qū)ο蟪绦蛟O(shè)計(jì)和Smalltalk創(chuàng)世人的身份被我們記住,以軟件大師和計(jì)算機(jī)界泰斗的高度被我們仰視。

1940年,Alan出生在美國(guó)馬塞諸塞州。1歲時(shí),Alan隨父親居家遷往澳大利亞。3歲就可以閱讀Alan在存有6000本書(shū)和大量的繪畫(huà)的大房間里度過(guò)童年。二戰(zhàn)開(kāi)始后,Alan全家又遷回美國(guó)。大量的閱讀和獨(dú)立的觀點(diǎn)使Alan對(duì)自己的童年感到驕傲:“到我上學(xué)時(shí),我已經(jīng)讀過(guò)幾百本書(shū)。那時(shí)我已經(jīng)有了許多自己的觀點(diǎn),我知道一年級(jí)所教的許多東西都很幼稚和虛假,老師在撒謊。但學(xué)校只能有一種觀點(diǎn)――那就是老師的觀點(diǎn)或者課本的觀點(diǎn)。他們不喜歡與他們相左的觀點(diǎn),因此那就象是一場(chǎng)戰(zhàn)爭(zhēng)。當(dāng)然我已經(jīng)可以用五歲的聲音維護(hù)自己的觀點(diǎn)”。對(duì)少兒教育的責(zé)任心伴隨Alan一生,他后期的許多大師級(jí)的創(chuàng)意最初的理念都是出于對(duì)兒童的關(guān)愛(ài)。

OOP萌芽

1960年,Alan進(jìn)入Bethany大學(xué),僅一年之后他就因抗議學(xué)校猶太人限額問(wèn)題,而被Bethany大學(xué)驅(qū)逐。沮喪的Alan加入志愿兵服務(wù)對(duì),在此,他發(fā)現(xiàn)了自己的又一項(xiàng)天賦;在軍隊(duì)的一次計(jì)算機(jī)的能力傾向測(cè)驗(yàn)中,Alan表現(xiàn)出眾,隨后即被美國(guó)空軍派遣到IBM K101工作,在那里,Alan不但驗(yàn)證了計(jì)算機(jī)能力傾向測(cè)試的準(zhǔn)確度,還學(xué)習(xí)到大量計(jì)算機(jī)知識(shí)。

退伍后的Alan被科羅拉多大學(xué)錄取,學(xué)習(xí)數(shù)學(xué)和分子生物學(xué)。畢業(yè)后,他又一次面對(duì)擇業(yè)問(wèn)題,他說(shuō):“我考慮過(guò)從醫(yī),但我覺(jué)得自己責(zé)任心不夠。直到現(xiàn)在我仍這樣認(rèn)為。”他還考慮過(guò)哲學(xué),但也放棄了。最后他還是進(jìn)入了猶他大學(xué)學(xué)習(xí)電氣工程。

海拔4000英尺以上的猶他大學(xué),設(shè)有一個(gè)博士點(diǎn)。在那里,他開(kāi)始使用由1988年圖靈獎(jiǎng)獲得者Ivan Sutherland開(kāi)發(fā)的Sketchpad程序,并用Simua仿真語(yǔ)言編寫(xiě)程序。當(dāng)時(shí)的計(jì)算機(jī)是個(gè)稀罕玩意,能深入接觸計(jì)算機(jī)控制編程的人更是少之又少。新生Alan在那里使用UNIVAC108機(jī),任務(wù)是辦公桌上的一堆磁帶和一張紙條:“這是UNIVAC108機(jī)的Algol語(yǔ)言,如果它不能運(yùn)行,把它弄好。”

那個(gè)時(shí)代的程序員更像是“風(fēng)語(yǔ)者”,使用一堆別人看不懂的字符工作,因?yàn)楦呒?jí)的語(yǔ)言還沒(méi)有被開(kāi)發(fā)或推廣;但還是那個(gè)大師頻出的時(shí)代,Alan開(kāi)始深入思考計(jì)算機(jī)和編程。受這些程序思想的啟發(fā),再加上自己生物學(xué)的背景,他提出了“生物學(xué)類(lèi)比”理論。Alan Kay假定理想的計(jì)算機(jī)將象生物體一樣工作,為完成某個(gè)任務(wù),每個(gè)“細(xì)胞”都要與其它“細(xì)胞”協(xié)同完成,而每個(gè)“細(xì)胞”又有自己的功能。為了解決另外的難題或試驗(yàn)另外的功能,“細(xì)胞”們可以實(shí)現(xiàn)重組。這一理論成為面向?qū)ο蟪绦蛟O(shè)計(jì)的萌芽。也是在那時(shí),Alan開(kāi)始為Flex機(jī)設(shè)計(jì)界面,但由于過(guò)于復(fù)雜而沒(méi)有成功,之后他開(kāi)始研究圖標(biāo)編程。

超級(jí)紙張

1968年秋,Alan在MIT人工智能實(shí)驗(yàn)室第一次見(jiàn)到Logo語(yǔ)言的創(chuàng)始人Seymour Papert;他觀看了Papert和他的同事教孩子們?nèi)绾斡肔ogo時(shí),Alan有關(guān)計(jì)算機(jī)社會(huì)作用的整套觀念受到極大沖擊。“我看到了第一個(gè)真正的手寫(xiě)體識(shí)別系統(tǒng)。這是一套今人難以置信的系統(tǒng)。它對(duì)我產(chǎn)生了巨大影響,因?yàn)槲矣蟹N心有靈犀的感覺(jué)。當(dāng)我將這些觀念綜合起來(lái),計(jì)算機(jī)的概念就象是一種超級(jí)媒體,一種超級(jí)紙張。”

那時(shí)的計(jì)算機(jī)是一個(gè)龐然大物,有獨(dú)立的房間存放,由專(zhuān)門(mén)的機(jī)構(gòu)擁有和維護(hù);將其想象成孩子的教學(xué)玩具、媒體或一張紙不僅需要極大的想象力,還有勇氣。

這里需要提及Alan Kay的一句在IT界廣為流傳的名言“The best way to predict the future is to invent it”,預(yù)測(cè)未來(lái)的最好辦法,就是把它創(chuàng)造出來(lái)。

Smalltalk和OOP

Alan Kay的畢業(yè)論文是關(guān)于圖形面向?qū)ο蠓矫娴难芯?,他由此凱獲得猶他大學(xué)的博士學(xué)位。接著在斯坦福人工智能實(shí)驗(yàn)室擔(dān)任教學(xué)工作。這兩年工作期間,他開(kāi)始構(gòu)想一本象書(shū)本大小的計(jì)算機(jī),用戶(hù)(尤其是兒童)可以用它來(lái)代替紙張。他將這個(gè)項(xiàng)目稱(chēng)之為 “Kiddie Komp”。這期間,他也開(kāi)始著手Smalltalk語(yǔ)言的研發(fā)。Smalltalk基于Alan的博士論文為理論支持,應(yīng)用自己之前的單獨(dú)個(gè)體(即“細(xì)胞”)生物學(xué)模型來(lái)設(shè)計(jì)的,個(gè)體之間可通過(guò)“信息”相互交流;另外,Smalltalk使用“鼠標(biāo)驅(qū)動(dòng)”的“多窗口環(huán)境”,這是圖形界面操作系統(tǒng)的雛形。

Smalltalk是第一門(mén)純面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言,OPP的思想使Smalltalk的語(yǔ)言結(jié)構(gòu)方面有許多與其他語(yǔ)言不同的特點(diǎn),例如在Smalltalk語(yǔ)言中沒(méi)有條件語(yǔ)句,取而代之的是一些發(fā)送給對(duì)象true或者false的消息,因此它們不屬于語(yǔ)言部分,而屬于Smalltalk的類(lèi)庫(kù);也沒(méi)有循環(huán)重復(fù)語(yǔ)句(C語(yǔ)言中的for while),Smalltalk用向數(shù)字對(duì)象或塊對(duì)象發(fā)送消息來(lái)實(shí)現(xiàn)重復(fù)執(zhí)行。

1971年,Alan來(lái)到施樂(lè)的PARC小組,雖然當(dāng)時(shí)的位圖顯示器十分昂貴,但是Alan依然說(shuō)服了PARC讓他使用這些位圖顯示器,這使得Kay和他的小組能夠?qū)崿F(xiàn)不同大小和字體的文字,使用多窗口環(huán)境,以及一些對(duì)圖像處理的高端支持;這實(shí)現(xiàn)了Alan設(shè)計(jì)Smalltalk的初衷,為兒童教學(xué)的而開(kāi)發(fā)的語(yǔ)言。

[[7679]]

1975年,Alan的小組認(rèn)識(shí)到應(yīng)當(dāng)對(duì)Smalltalk的執(zhí)行效率和規(guī)模進(jìn)行優(yōu)化。于是他們?cè)谠S多重要方面重新設(shè)計(jì)了Smalltalk系統(tǒng),在語(yǔ)言上:引入了繼承和子類(lèi)的概念并確定了語(yǔ)言的語(yǔ)法,這使得編譯器能夠產(chǎn)生高效、可執(zhí)行、精煉的二進(jìn)制代碼。這些概念的引入使Smalltalk成為面向?qū)ο笳Z(yǔ)言鼻祖。

#T#Smalltalk在編程語(yǔ)言發(fā)展史上的地位毋庸置疑。它不僅引入了面向?qū)ο蟪绦蛟O(shè)計(jì)的基本理念和實(shí)現(xiàn)方法,還為現(xiàn)在編程語(yǔ)言的進(jìn)化提供了必要的基因,C、C++以及后來(lái)的Java、Python、PHP等都借鑒了Smalltalk的部分底層實(shí)現(xiàn)方法和語(yǔ)法要素;即使是30年之后,我們依然可以從編程語(yǔ)言排行榜中看到Smalltalk的活力。

發(fā)明家Alan

也許你還對(duì)開(kāi)始的那個(gè)問(wèn)題和答案念念不忘,讓我們來(lái)簡(jiǎn)單的回憶一下Alan Kay的其他貢獻(xiàn)。

在施樂(lè)PARC研究小組期間,Alan制作了一個(gè)名為Pynabook的概念產(chǎn)品——微型電腦,業(yè)界認(rèn)為這是筆記本電腦的模型。當(dāng)時(shí)個(gè)人計(jì)算機(jī)技術(shù)尚處于襁褓期,但Alan的設(shè)計(jì)中卻已包含了許多未來(lái)的技術(shù),比如平板顯示器和無(wú)線(xiàn)通訊系統(tǒng)。1993年, Dynabook理念終于成為現(xiàn)實(shí),化為了蘋(píng)果公司的Newton。

1979年,在Alan的邀請(qǐng)下,喬布斯、Teff Raskin以及其它蘋(píng)果公司的元老們來(lái)到PARC參觀。他們被Alan Kay的視窗圖形用戶(hù)界面理念所吸引,認(rèn)為這就是未來(lái)的電腦;對(duì)Smalltalk語(yǔ)言的靈活性也大為驚奇。Alan在PARC的工作就是蘋(píng)果Macintosh的種子,甚至今天的Windows操作系統(tǒng)也是Alan的理念延伸。

Macintosh擁有圖像化的GUI 

Macintosh應(yīng)用了Alan的視窗圖形用戶(hù)界面理念

1984年,Alan加盟蘋(píng)果,這使Alan有足夠的時(shí)間和金錢(qián)開(kāi)始研究他那長(zhǎng)期以來(lái)的夢(mèng)想。同一年,一臺(tái)以圖形界面為中心并為市場(chǎng)廣泛接受的計(jì)算機(jī)——Macintosh誕生。接下來(lái)的時(shí)間,Alan在世界各地四處奔波講學(xué)的同時(shí)在麻省理工大學(xué)擔(dān)任教學(xué)工作,也間或?yàn)樘O(píng)果工作。但大多數(shù)時(shí)間Alan Kay則在加州西好萊塢的自辦的學(xué)校中教學(xué),教孩子們使用計(jì)算機(jī)。

[[7681]] 
Alan Kay在 圖靈獎(jiǎng)?lì)C獎(jiǎng)典禮上

2003年4月19日,計(jì)算機(jī)學(xué)會(huì)(ACM)宣布,2003年度有“計(jì)算機(jī)界諾貝爾獎(jiǎng)”之稱(chēng)的ACM 圖靈獎(jiǎng)授予第一個(gè)完全面向?qū)ο蟮膭?dòng)態(tài)計(jì)算機(jī)程序設(shè)計(jì)語(yǔ)言Smalltalk的發(fā)明者Alan Kay。

責(zé)任編輯:佚名 來(lái)源: 51CTO.com
相關(guān)推薦

2017-12-19 08:48:06

企業(yè)儲(chǔ)存預(yù)測(cè)

2021-05-26 09:13:35

Linux之父未來(lái)科技

2009-12-04 09:41:22

Linux桌面Linux

2018-08-06 14:29:07

甲骨文性能安全性

2021-07-16 11:35:08

存儲(chǔ)技術(shù)趨勢(shì)

2013-01-29 09:43:33

JavaJVMJava社區(qū)

2015-06-15 15:54:37

無(wú)線(xiàn)通訊NFC

2009-02-20 09:02:42

谷歌互聯(lián)網(wǎng)溫頓·瑟夫

2023-12-04 16:22:38

2013-10-12 16:42:28

SAP

2011-03-31 11:10:20

2014-10-18 00:40:57

2014-10-20 09:42:02

2012-12-12 16:18:32

互聯(lián)網(wǎng)思科IPv6

2010-10-11 10:21:49

Flipboard移動(dòng)開(kāi)發(fā)

2023-09-13 15:43:59

邊緣計(jì)算

2021-12-13 10:31:54

網(wǎng)絡(luò)安全網(wǎng)絡(luò)攻擊網(wǎng)絡(luò)威脅

2010-11-09 12:10:20

瞻博網(wǎng)絡(luò)網(wǎng)絡(luò)構(gòu)架Juniper

2013-05-21 10:26:47

存儲(chǔ)網(wǎng)絡(luò)以太網(wǎng)虛擬化

2016-03-28 15:23:07

網(wǎng)絡(luò)服務(wù)器虛擬化
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)