스몰토크
(Smalltalk)는
動的 兄
,
反映
을 支援하는
客體 志向
프로그래밍 言語
이다.
歷史와 影響
[
編輯
]
스몰토크는
제록스 파크
(PARC)에서
앨런 케이
,
댄 잉갤스
,
테드 캘러
,
아델 골드버그
가 만들었다. 1970年代의
리스프
,
로고
,
스케치패드
와
時뮬라
等의 影響을 받았으며, 스몰토크-80부터 外部에 公開되어 퍼지기 始作했다. 스몰토크는
Ruby
,
오브젝티브-C
,
Self
,
자바
,
Dylan
,
애플스크립트
,
파이썬
,
Scala
,
펄 6
,
Common List Object System
等의 프로그래밍 言語에 影響을 주었으며, 그 外에
매킨토시
의
그래픽 使用者 인터페이스
에도 影響을 주었다.
最初로
GUI
를 提供하는 言語였으며, 이는
마우스
가 스몰토크와 함께
제록스 파크
(PARC)에서 硏究되었던 것과도 關聯이 있다.
現在 스몰토크를 使用하는 人口는 다른 客體志向 言語의 出現으로 少數에 不過하나,
루비
를 비롯한 動的資料型 客體 志向 言語가 關心을 받고 있다.
最近에는
詩사이드
(Seaside)의 出現으로 HTML을 全혀 쓰지 않는 次世代 웹 프로그래밍의 비전을 보여주고 있기도 하다.
特徵
[
編輯
]
스몰토크는 다음과 같은 特徵들을 가지고 있다.
- GUI 環境 , 컴파일러, 파서, 가비지 컬렉터가 스몰토크 코드로 되어 있다.
- 모든 소스 코드가 露出되어 있으며, 編輯이 可能하다.
- 純粹 客體志向 言語이다.
C++
나
자바
와는 달리 遠視 資料型이 없고, 모든 精髓, 不動少數, 文字列, 블록을 包含한 모든 것이 客體며 클래스가 있다.
- 命令語 블록(
無名 函數
)을 提供한다.
- 클래스가 客體이다. 大部分의 프로그래밍 言語에서는 클래스는 政敵 領域에 定義되고, 客體는 런타임, 卽 動的 領域에 保管된다. 하지만 스몰토크의 客體들은 모든 狀態가 스몰토크 假像機械 속에서 “이미지”라 불리는 構造로 表現·貯藏된다.
- 이미지基盤이다. 소스코드는 소스파일에 保管되는 것이 아니라 이미지(메모리의 直列火)로서 스냅샷 파일 속의 客體로서 保管된다.
스몰토크는 言語的 特徵으로 인하여 獨特한 開發文化를 가지고 있는데, 그것은 現在의 開發文化로도 傳播되었다.
Transcript
show:
'Hello, world!'
.
具現
[
編輯
]
- 스퀵
(Squeak)
- 비주얼웍스(VisualWorks)
- 돌핀 스몰토크(Dolphin Smalltalk)
- 앰브라이 스몰토크(Ambrai Smalltalk)
- F 스크립트(F-Script)
關聯 團體
[
編輯
]
- 유럽 스몰토크 使用者 그룹 (ESUG, European Smalltalk User Group)
- 뷰포인트 硏究所 (VPRI, Viewpoint Research Institute)
- 하소 플라토 硏究所(HPI, Hasso Plato Institute)
같이 보기
[
編輯
]
外部 링크
[
編輯
]