스몰토크, 1960년대 컴퓨팅 혁신의 결정체
원제 The Early History of Smalltalk (1993)
124 포인트댓글 87
Key Point
개인 컴퓨팅과 객체지향 프로그래밍의 철학적 기원을 이해하려면, 그 개념이 어떤 선배 기술과 과학적 영감을 받아 형성되었는지 알아야 하기 때문이다.
핵심 요약
- Alan Kay가 1993년 발표한 이 논문은 객체지향 프로그래밍의 역사와 Smalltalk 탄생 배경을 기술한다.
- 1960년대 ARPA 공동체의 대화형 시분할 컴퓨팅, 그래픽 화면, 포인팅 장치 등이 현대 개인 컴퓨팅과 객체지향 설계의 토대를 마련했다.
- Smalltalk은 이런 아이디어들을 최초로 완벽하게 구현한 시스템으로, 수백만 사용자를 위한 학습 환경과 복잡성 감소를 목표했다.
- 1992년 시점에 노트북 컴퓨터는 1967년 구상한 Dynabook의 요구사항을 대부분 충족했으며, Smalltalk은 이 시스템에서 주요 소프트웨어였다.
- Kay는 Burroughs 220의 파일 시스템, B5000의 구조, Sketchpad의 마스터/인스턴스 개념, Simula의 활동 객체를 통해 객체지향 아이디어를 반복적으로 목격했다고 설명한다.
- Simula를 경험한 후 Kay는 전체 컴퓨터를 작은 컴퓨터들로 나누는 개념을 구상했으며, 이는 Leibniz의 모나드와 현대 물리학·생물학의 개념과 철학적 연관이 있다고 본다.
- Smalltalk 설계의 핵심은 모든 것을 메시지 교환을 통해 상호작용하는 객체로 표현하는 것이며, 이는 '재귀적 컴퓨터' 개념이다.
- 1967년 Utah 대학에서 FLEX 기계 프로젝트에 참여하면서 JOSS, EULER, Simula를 조합하여 개인 컴퓨팅을 위한 언어를 설계했다.
- Doug Engelbart의 NLS 시스템과 Gordon Moore의 법칙(집적회로 밀도 지수적 증가)은 데스크톱 컴퓨터 실현 가능성을 확신하게 했다.
- 수백만 개인 사용자를 위한 만능 애플리케이션은 불가능하므로, 최종 사용자가 직접 확장할 수 있는 시스템이 필요하다는 결론에 도달했다.
- Dan Ingalls와 Adele Goldberg가 Smalltalk-72와 Smalltalk-76 구현에 핵심 역할을 했으며, 객체지향 설계는 복잡한 시스템 모델링의 효율성을 획기적으로 개선했다.