Smalltalk
Smalltalk被公認(rèn)為歷史上第二個(gè)面向?qū)ο蟮某绦蛟O(shè)計(jì)語言和第一個(gè)真正的集成開發(fā)環(huán)境 (IDE)。由Alan Kay,Dan Ingalls,Ted Kaehler,Adele Goldberg等于70年代初在Xerox PARC開發(fā)。Smalltalk對(duì)其它眾多的程序設(shè)計(jì)語言的產(chǎn)生起到了極大的推動(dòng)作用,主要有:Objective-C,Actor, Java 和Ruby等。90年代的許多軟件開發(fā)思想得利于Smalltalk,例如Design Patterns, Extreme Programming(XP)和Refactoring等。
什么是Smalltalk[ ]
Smalltalk和許多程序設(shè)計(jì)語言不同,它不僅僅是一門語言。 一種面向?qū)ο蟮某绦蛟O(shè)計(jì)語言:它是一種面向?qū)ο蟮恼Z言,包含語言的語法和語義。一些編譯器可以通過Smalltalk源程序產(chǎn)生可執(zhí)行文件。這些編譯器通常產(chǎn)生一種能在虛擬機(jī)上運(yùn)行的二進(jìn)制代碼。Smalltalk語言本身非常精煉。 一種程序設(shè)計(jì)環(huán)境:這里指的是一種提供許多 對(duì)象 的系統(tǒng),而不是某種特殊的開發(fā)環(huán)境。和許多語言不同(包括C++),Smalltalk附帶有一個(gè)巨大的、相當(dāng)標(biāo)準(zhǔn)的類庫。這些 類 使得開發(fā)Smalltalk程序的效率非常高。在其它語言(例如 Ada , C 和 Pascal )中通常被作為語言的一部分的功能(例如條件判斷,循環(huán)等),在Smalltalk由特定的類提供。 一個(gè)應(yīng)用開發(fā)環(huán)境(ADE):由于Smalltalk的歷史原因,它具有一個(gè)非常優(yōu)秀的高度集成、開放的應(yīng)用開發(fā)環(huán)境。由于開發(fā)環(huán)境中的瀏覽器、監(jiān)視器以及調(diào)試器都由同樣的源程序衍生出來的,不同的版本之間也具有相當(dāng)好的兼容性。此外,這些工具的源程序都可以在ADE直接存取。
Smalltalk的歷史[ ]
最早的Smalltalk原型由Alan Kay于70年代初提出。類(來自Simula-67)、海龜繪圖(來自MIT的 LOGO )以及 圖形界面 等概念的有機(jī)組合,構(gòu)成了Smalltalk的最初的藍(lán)圖。 在1971年到1975年之間,Kay在Xerox PARC的小組設(shè)計(jì)并實(shí)現(xiàn)了第一個(gè)真正的Smalltalk語言系統(tǒng)。這個(gè)系統(tǒng)具有以下幾個(gè)技術(shù)創(chuàng)新: 語言完全基于Simula的類和消息的概念。 語言沒有固定的語法,語法分析由類本身完成。 開發(fā)環(huán)境的革新相當(dāng)迅速。 雖然當(dāng)時(shí)的位圖顯示器十分昂貴,但是Kay卻說服了PARC讓他使用這些位圖顯示器,這使得Kay和他的小組能夠?qū)崿F(xiàn)不同大小和字體的文字,使用多窗口環(huán)境,以及一些對(duì)圖像處理的高端支持。 1975-76年間,Kay小組認(rèn)識(shí)到應(yīng)當(dāng)對(duì)執(zhí)行效率和規(guī)模進(jìn)行優(yōu)化。于是他們?cè)谠S多重要方面重新設(shè)計(jì)了Smalltalk系統(tǒng),在語言上: 引入了繼承和子類的概念。 確定了語言的語法,這使得編譯器能夠產(chǎn)生高效、可執(zhí)行、精煉的二進(jìn)制代碼。 Larry Tesler設(shè)計(jì)了瀏覽器,這極大地提高了Smalltalk程序員的編程效率。 前述的所有Smalltalk系統(tǒng)都是在特殊的硬件上實(shí)現(xiàn)的,直到1977-78年,Bruce Horn 和 Ted Kaehler 把Smalltalk-76移植到由Intel 8086處理器和自定顯示器所組成的硬件環(huán)境(被稱為NoteTaker)上。雖然這種硬件環(huán)境只生產(chǎn)了10臺(tái),但是它證明了在通常的處理器上實(shí)現(xiàn)Smalltalk的可能性。
Smalltalk的開發(fā)環(huán)境[ ]
Pharo的目標(biāo)是提供一個(gè)簡潔新穎的開源Smalltalk開 發(fā)環(huán)境。Smalltalk被公認(rèn)為歷史上第二個(gè)面向?qū)ο蟮某绦蛟O(shè)計(jì)語言和第一個(gè)真正的集成開發(fā)環(huán)境(IDE)。Smalltalk由Alan Kay,Dan Ingalls,Ted Kaehler,Adele Goldberg等于70年代初在Xerox PARC開發(fā)。Smalltalk對(duì)其它眾多的程序設(shè)計(jì)語言的產(chǎn)生起到了極大的推動(dòng)作用,主要有:Objective-C,Actor,Java和 Ruby等。90年代的許多軟件開發(fā)思想得利于Smalltalk,例如設(shè)計(jì)模式、敏捷編程和重構(gòu)等。