스몰토크: 두 판 사이의 차이

내용 삭제됨 내용 추가됨
최담담 (토론 | 기여)
잔글 Smalltalk을(를) 스몰토크(으)로 옮기면서 넘겨주기를 덮어 씀: 토론이 진행중인 사유로 이동이 되었으므로 되돌림
Daliot (토론 | 기여)
내용을 추가했습니다.
1번째 줄:
'''스몰토크'''(Smalltalk)는 [[객체 지향]] [[프로그래밍 언어]]로서 [[형_체제|동적 형]], [[반영 (컴퓨터)|반영]]을 지원한다.
 
스몰토크는 [[제록스 파크]](PARC)에서 [[앨런 케이]], [[댄 잉갤스]], [[테드 캘러]], [[에이들 골드버그]]가 만들었다. 1970년대의 [[리스프]], [[로고 프로그래밍 언어|로고]], [[스케치패드]]와 [[시뮬라]] 등의 영향을 받았으며, 스몰토크-80부터 외부에 공개되어 퍼지기 시작했다. 스몰토크는 [[루비]], [[오브젝티브-C]], [[Self]] , [[자바]] , [[Dylan]] , [[AppleScript]] , [[Python]], [[Scala]], [[Perl 6]], [[Common List Object System]] 등의 프로그래밍 언어에 영향을 주었으며, 그 외에 [[매킨토시]]의 [[그래픽 사용자 인터페이스]]에도 영향을 주었다.
 
최초로 [[GUI]]를 제공하는 언어였으며, 그것은 [[마우스]]가 스몰토크와 함께 [[제록스 파크]](PARC)에서 연구되었던 것과도 관련이 있다.
 
스몰토크는 다음과 같은 특징들을 가지고 있다.
 
- GUI환경 , 컴파일러, 파서, 가비지 컬랙터가 스몰토크 코드로 되어 있다.
- 모든 소스코드가 노출되어 있으며, 편집 가능하다.
- 순수 객체지향 언어이다. [[C++]]나 [[자바]]와는 달리 원시자료형이 없고, 모든 정수, 부동소수, 문자열, 블록을 포함한 모든 것이 객체며 클래스가 있다.
- 클래스가 객체이다.
- 블록을 제공한다.
- 이미지기반이다. 소스코드는 소스파일에 보관되는 것이 아니라, 이미지라(메모리의 직렬화) 스냅샷 속에 객체로서 존재한다.
 
 
스몰토크는 언어적 트징으로 인하여 독특한 개발문화를 가지고 있는데, 그것은 현재의 개발문화로도 전파되었다.
- 리팩토링과 리팩토링 브라우저
- 유닛테스트(xUnit)
- XP (eXtreme Programming)
- 디자인패턴
 
 
현재 스몰토크를 사용하는 인구는 다른 객체지향 언어의 출현으로 소수에 불과하나, Ruby을 비롯한 동적자료형 객체 지향 언어가 관심을 받고 있다.
 
최근에는 Seaside의 출현으로 HTML을 전혀 쓰지 않은 차세대 웹프로그래밍의 비전을 보여주고 있기도 하다.
 
== 구현 ==
- Squeak
- VisualWorks
- Dolphin Smalltalk
- Ambrai Smalltalk
- F-Script
 
 
== 관련 단체 ==
 
- ESUG ( European Smalltalk User Group )
- VPRI( Viewpoint Research Institute )
- HPI ( Hasso Plato Institute )
 
 
 
== 바깥 고리 ==