-
Smalltalk語言
鎖定
Smalltalk,被公認為歷史上第二個面向對象的程序設計語言,和第一個真正的集成開發環境(IDE)。Smalltalk由艾倫·凱,Dan Ingalls,Ted Kaehler,Adele Goldberg等於70年代初在Xerox PARC開發。
- 屬 性
- 程序設計語言
- 領 域
- 計算機、信息技術、軟件、編程
- 開發者
- AlanKay、DanIngalls等
- 開發時間
- 20世紀70年代到80年代
目錄
Smalltalk語言什麼是Smalltalk
Smalltalk和許多程序設計語言不同,它不僅僅是一門語言。下面從幾個不同的角度來解釋Smalltalk。
- 一種面向對象的程序設計語言:它是一種面向對象的語言,包含語言的語法和語義。一些編譯器可以透過Smalltalk源程序產生可執行文件。這些編譯器通常產生一種能在虛擬機上運行的二進制代碼。Smalltalk語言本身非常精煉。
Smalltalk語言Smalltalk中的對象
在Smalltalk中所有的東西都是對象,或者應該被當作對象處理。例如下面的表達式:
2 + 3.
應當被理解為:向對象2發送消息+,參數為對象3。
純面向對象使得Smalltalk在語言結構方面有許多與其他語言不同的特點,例如在Smalltalk語言中沒有條件語句,取而代之的是一些發送給對象true或者false的消息,因此它們不屬於語言部分,而屬於Smalltalk的類庫;也沒有循環重複語句(C語言中的for, while),Smalltalk用向數字對象或塊對象發送消息來實現重複執行。
[1]
Smalltalk語言Smalltalk的歷史
Smalltalk語言Smalltalk-71與-72
在1971年到1975年之間,艾倫·凱在Xerox PARC的小組設計並實現了第一個真正的Smalltalk語言系統,編譯器由Dan Ingalls負責主要實現。這個系統具有以下幾個技術創新:
- 語言完全基於Simula的類和消息的概念。
- 語言沒有固定的語法,語法分析由類本身完成。
開發環境的革新相當迅速。雖然當時的位圖顯示器十分昂貴,但是艾倫·凱卻説服了PARC讓他使用這些位圖顯示器,這使得艾倫·凱和他的小組能夠實現不同大小和字體的文字,使用多窗口環境,以及一些對圖像處理的高端支持。
Smalltalk語言Smalltalk-76
1975-76年間,艾倫·凱小組認識到應當對執行效率和規模進行優化。於是他們在許多重要方面重新設計了Smalltalk系統,在語言上:
- 引入了繼承和子類的概念。
- 確定了語言的語法,這使得編譯器能夠產生高效、可執行、精煉的二進制代碼。
- 拉里·泰斯勒(Larry Tesler)設計了瀏覽器,這極大地提高了Smalltalk程序員的編程效率。
前述的所有Smalltalk系統都是在特殊的硬件上實現的,直到1977-78年,Bruce Horn和Ted Kaehler把Smalltalk-76移植到由Intel 8086處理器和自定顯示器所組成的硬件環境(被稱為NoteTaker)上。雖然這種硬件環境只生產了10台,但是它證明了在通常的處理器上實現Smalltalk的可能性。
Smalltalk語言Smalltalk-80
在1979-80年,部分受NoteTaker項目的影響,Smalltalk小組的注意力轉移到Smalltalk的銷售可行性上。小組設計並實現了新一代的Smalltalk系統,這次修改的目標着重於在標準硬件上的移植性等方面,包括:
- 採取ASCII碼集,摒棄了原先在Smalltalk-72和-76中使用的特殊字符。
- 取消了原始(primitive)方法直接訪問內存的能力。取而代之的是引入一系列的原始方法提供相應的功能。
- 引入了元類的概念。
Smalltalk語言程序實例
數學計算
(15 * 19) + (37 squared)
- 參考資料
-
- 1. Goldberg, Adele (December 1983). Smalltalk-80: The Interactive Programming Environment. Addison-Wesley. ISBN 0-201-11372-4.
- 2. Adele Goldberg & Alan Kay, ed. (March 1976). Smalltalk-72 Instruction Manual (PDF). Palo Alto, California: Xerox Palo Alto Research Center. Retrieved 2011-11-11.
- 3. Nierstrasz, Oscar; Ducasse, Stéphane; Pollet, Damien; Black, Andrew P. (February 23, 2010). Pharo by Example. Kehrsatz, Switzerland: Square Bracket Publishing. ISBN 978-3-9523341-4-0.
- 詞條統計
-
- 瀏覽次數:次
- 編輯次數:4次歷史版本
- 最近更新: 医心悬济