스몰토크의 초기 역사와 패러다임 전환
The Early History of Smalltalk (1993)
스몰토크는 단순히 기술을 개선한 프로그래밍 언어를 넘어, 인간과 컴퓨터의 상호작용 방식을 근본적으로 재정립하려 했던 '패러다임 전환'의 산물입니다.
스몰토크는 단순히 기술을 개선한 것이 아니라, 인간과 컴퓨터가 메시지를 주고받으며 상호작용하는 방식을 근본적으로 바꾼 중요한 패러다임 전환의 산물이에요.
- 이 언어는 모든 요소를 '메시지를 주고받는 객체'로 모델링하는 객체 지향 설계를 채택하여, 복잡한 시스템을 모듈화하고 사용자 접근성을 높였습니다.
- 스몰토크는 초기부터 그래픽 사용자 환경(GUI)과 개인용 컴퓨터 개념을 통합하며, 오늘날 우리가 사용하는 소프트웨어 개발 원칙의 초석을 놓았습니다.
- 이 역사는 특정 개인의 성과라기보다, 1960년대부터 축적된 다양한 학문적 사상과 연구자들의 집단 지성이 결합한 결과물임을 이해하는 것이 중요합니다.
스몰토크는 단순히 기존 기술을 개선한 것을 넘어, 인간과 컴퓨터 간의 상호작용 방식을 근본적으로 재정립하려는 시도였습니다. 이 언어는 메인프레임 컴퓨팅 방식에서 벗어나, 최종 사용자가 기능을 호출하고 데이터 구조를 더욱 추상화하는 방향으로 패러다임을 전환하고자 했습니다. 이러한 변화는 메시지를 통해 소통하는 보호된 범용 셀(protected universal cells)을 기반으로 하는 생물학적 체계의 도입을 요구했습니다.
스몰토크의 설계는 모든 설명 가능한 것을 단일한 행동 빌딩 블록의 재귀적 조합으로 표현할 수 있다는 통찰에 근거합니다. 이 객체 모델은 상태와 프로세스를 자체적으로 숨기며, 오직 메시지 교환을 통해서만 상호작용이 가능하도록 합니다. 이러한 방식은 언어 자체가 컴퓨터의 전체 가능성에 대한 일종의 재귀(recursion)로 간주됩니다.
스몰토크는 아파라(ARPA)와 제록스 PARC에서 진행된 개인 컴퓨팅이라는 더 큰 목표의 일부였습니다. 이 과정에서 개발된 시스템들은 플랫하고 고해상도의 비트맵 화면, 오버래핑 창, 포인팅 장치 등 '다이나북'과 같은 개념을 구현했습니다. 따라서 스몰토크의 역사는 특정 인물의 성취라기보다 여러 학문적 사상과 연구자들의 집단 지성이 결합된 결과로 이해됩니다.
스몰토크는 기존 컴퓨팅 방식과 어떻게 달랐나요?
기존 메인프레임 컴퓨팅 방식에서 벗어나, 최종 사용자가 직접 기능을 호출하고 데이터 구조를 추상화하는 방향으로 패러다임을 전환했어요. 이는 메시지를 통해 소통하는 보호된 범용 셀을 기반으로 하는 생물학적 체계를 도입해야 했어요.
스몰토크의 객체 모델은 어떤 원리로 작동하나요?
모든 설명 가능한 것을 단일한 행동 빌딩 블록을 재귀적으로 조합하여 표현할 수 있다는 통찰에 근거해요. 이 객체 모델은 상태와 프로세스를 자체적으로 숨기며, 오직 메시지 교환을 통해서만 상호작용이 가능하도록 설계되었어요.
스몰토크는 어떤 큰 목표와 관련이 있었나요?
스몰토크는 아파라(ARPA)와 제록스 PARC에서 진행된 개인 컴퓨팅이라는 더 큰 목표의 일부였어요. 이 과정에서 플랫하고 고해상도의 비트맵 화면, 오버래핑 창, 포인팅 장치 같은 개념들이 구현되었답니다.