스몰토크
위키백과, 우리 모두의 백과사전.
| 패러다임 | 객체 지향 |
|---|---|
| 발표년도 | 1970년대 |
| 설계자 | 앨런 케이(Alan Kay), Dan Ingalls, Adele Goldberg |
| 자료형 체계 | 동적 |
| 주요 구현체 | 스퀵, visualworks, visualage for smalltalk |
| 영향을 받은 언어 | 리스프, 시뮬라, 스케치 패드, 로고 (프로그래밍 언어) |
| 영향을 준 언어 | 오브젝티브 C,자바,스크래치 |
스몰토크(Smalltalk)는 동적 형, 반영을 지원하는 객체 지향 프로그래밍 언어이다.
스몰토크는 제록스 파크(PARC)에서 앨런 케이, 댄 잉갤스, 테드 캘러, 에이들 골드버그가 만들었다. 1970년대의 리스프, 로고, 스케치패드와 시뮬라 등의 영향을 받았으며, 스몰토크-80부터 외부에 공개되어 퍼지기 시작했다. 스몰토크는 Ruby, 오브젝티브-C, Self , 자바 , Dylan , 애플스크립트 , 파이썬, Scala, 펄 6, Common List Object System 등의 프로그래밍 언어에 영향을 주었으며, 그 외에 매킨토시의 그래픽 사용자 인터페이스에도 영향을 주었다.
최초로 GUI를 제공하는 언어였으며, 이는 마우스가 스몰토크와 함께 제록스 파크(PARC)에서 연구되었던 것과도 관련이 있다.
스몰토크는 다음과 같은 특징들을 가지고 있다.
- GUI 환경 , 컴파일러, 파서, 가비지 컬랙터가 스몰토크 코드로 되어 있다.
- 모든 소스 코드가 노출되어 있으며, 편집이 가능하다.
- 순수 객체지향 언어이다. C++나 자바와는 달리 원시 자료형이 없고, 모든 정수, 부동소수, 문자열, 블록을 포함한 모든 것이 객체며 클래스가 있다.
- 클래스가 객체이다.
- 블록을 제공한다.
- 이미지기반이다. 소스코드는 소스파일에 보관되는 것이 아니라, 이미지라(메모리의 직렬화) 스냅샷 속에 객체로서 존재한다.
스몰토크는 언어적 특징으로 인하여 독특한 개발문화를 가지고 있는데, 그것은 현재의 개발문화로도 전파되었다.
- 리팩토링과 리팩토링 브라우저
- 유닛테스트(xUnit)
- XP (eXtreme Programming)
- 디자인 패턴
현재 스몰토크를 사용하는 인구는 다른 객체지향 언어의 출현으로 소수에 불과하나, 루비를 비롯한 동적자료형 객체 지향 언어가 관심을 받고 있다.
최근에는 시사이드(Seaside)의 출현으로 HTML을 전혀 쓰지 않는 차세대 웹 프로그래밍의 비전을 보여주고 있기도 하다.
구현 [편집]
- 스퀵(Squeak)
- 비주얼웍스(VisualWorks)
- 돌핀 스몰토크(Dolphin Smalltalk)
- 앰브라이 스몰토크(Ambrai Smalltalk)
- F 스크립트(F-Script)
관련 단체 [편집]
- 유럽 스몰토크 사용자 그룹 (ESUG, European Smalltalk User Group)
- 뷰포인트 연구소 (VPRI, Viewpoint Research Institute)
- 하소 플라토 연구소(HPI, Hasso Plato Institute)
바깥 고리 [편집]
- Smalltalk.org 스몰토크 공동체 사이트.
|
주요 프로그래밍 언어 |
|
|---|---|
| 산업용 | |
| 교육용 | |
| 역사적 의미가 있는 언어 |
|