運行在Java虛擬機上的Smalltalk語言 Redline Smalltalk
Redline Smalltalk 是一個運行在Java虛擬機上的Smalltalk語言實現。
Smalltalk,被公認為歷史上第二個面向對象的程序設計語言,和第一個真正的集成開發環境(IDE)。Smalltalk由Alan Kay,Dan Ingalls,Ted Kaehler,Adele Goldberg等于70年代初在Xerox PARC開發。
Smalltalk對其它眾多的程序設計語言的產生起到了極大的推動作用,主要有:Objective-C,Actor,Java和Ruby等。90年代的許多軟件開發思想得利于Smalltalk,例如設計模式、敏捷編程和重構等。
Smalltalk和許多程序設計語言不同,它不僅僅是一門語言。下面我們從幾個不同的角度來解釋Smalltalk。
- 一種面向對象的程序設計語言:它是一種面向對象的語言,包含語言的語法和語義。一些編譯器可以通過Smalltalk源程序產生可執行文件。這些編譯器通常產生一種能在虛擬機上運行的二進制代碼。Smalltalk語言本身非常精煉。
- 一種程序設計環境:這里指的是一種提供許多對象的系統,而不是某種特殊的開發環境。和許多語言不同(包括C++),Smalltalk附帶有一個巨大的、相當標準的類庫。這些類使得開發Smalltalk程序的效率非常高。在其它語言(例如Ada,C和Pascal)中通常被作為語言的一部分的功能(例如條件判斷,循環等),在Smalltalk由特定的類提供。
- 一個應用開發環境(ADE):由于Smalltalk的歷史原因,它具有一個非常優秀的高度集成、開放的應用開發環境。由于開發環境中的瀏覽器、 監視器以及調試器都由同樣的源程序衍生出來的,不同的版本之間也具有相當好的兼容性。此外,這些工具的源程序都可以在ADE直接存取。
在Smalltalk中所有的東西都是對象,或者應該被當作對象處理。例如下面的表達式:
2 + 3.
應當被理解為:向對象2發送消息+,參數為對象3。
純面向對象使得Smalltalk在語言結構方面有許多與其他語言不同的特點,例如在Smalltalk語言中沒有條件語句,取而代之的是一些發送 給對象true或者false的消息,因此它們不屬于語言部分,而屬于Smalltalk的類庫;也沒有循環重復語句(C語言中的for, while),Smalltalk用向數字對象或塊對象發送消息來實現重復執行。
本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!