Smalltalk의 간략한 역사

2022-08-16 09:40 · 378


Smalltalk (스몰토크)

1970년대 초 팰러 앨토 연구소에서 '앨런 케이' 라는 젊은 전산학자의 주도하에 한 언어가 탄생하게 됩니다. 이 언어는 세가지 가정 하에 설계되었는데, 내용은 다음과 같습니다:

  1. 곧 전 세계의 모든 사람들이 컴퓨터를 사용할 것임.
  2. 모든 사용자들이 그래픽이 지원되는 컴퓨터에서 키보드와 마우스를 이용할 것임.
  3. 모든 사람들이 자신이 사용할 프로그램을 직접 개발할 것임.

여러분도 모두 알고 계시겠지만 첫번째와 두번째 가정은 정말로 실현되었습니다. 이러한 가정을 바탕으로 프로그래밍 언어가 탄생되게 되는데, 이게 바로 '스몰토크' 라는 프로그래밍 언어입니다. 하지만, 스몰토크가 갑자기 세상에 튀어나온 것은 아니였습니다. 이 글에서는 스몰토크가 어떻게 나오게 된 것인지, 무엇에서 영감을 받았는지, 현재는 어떻게 되었는지 알아보겠습니다.

 

최초의 GUI 컴퓨터, 제록스 알토

제록스 알토의 모습.

(본 사진의 저작권은 Martin Pittenauer에게 있습니다.)

1972년, 더글라스 엥겔바트는 SRI 인터네셔널 연구소에서 자신이 개발한 NLS (oN-Line System) 에서 착안해 '제록스 알토' 라는 컴퓨터를 개발하기 시작합니다. 비슷한 시기, 스몰토크도 알토 컴퓨터를 위해 개발을 시작하게 됩니다.

 

(본 사진의 저작권은 Martin Pittenauer에게 있습니다.)

일 년의 개발 끝에 제록스 알토가 세상에 나오게 됩니다. 이 컴퓨터는 GUI 환경에, 마우스에, WYSIWYG를 최초로 도입한 컴퓨터로 검은 화면과 글자만 가득한 컴퓨터 외에는 본 적이 없던 당시 사람들에게 큰 충격을 안겨주게 됩니다.

알토와 같이 나온 스몰토크는 1972년에 가상 머신, 순수 객체 지향, GUI 프로그래밍과 같이 20년 뒤에서나 대중적으로 쓰이게 되는 개념들을 제시하며 프로그래머들에게 새로운 개발 패러다임을 보여주게 됩니다.

하지만 이렇게 혁신적인 컴퓨터임에도 불구하고 프린터 회사였던 제록스는 알토에 대해 거의 관심이 없었습니다. 이 때문에 제록스는 아주 적은 수만 생산되고 그 대부분은 사내와 대학교 등에서만 쓰이는 등 제록스 알토는 역사속으로 사라지게 됩니다.

 

새로운 스몰토크, Squeak (스퀵)

하지만, 스몰토크는 사라지기에는 정말 아쉬운 언어였습니다. 그래서 초기에는 애플, 이후에는 월트 디즈니 이매지니어링의 주도하에 디즈니 사내 프로젝트에 사용할 새로운 스몰토크가 개발되게 됩니다. 그것이 바로 지금까지 이어져오고 있는 스퀵입니다.

(출처: Squeak Wiki)

초기 버전의 스퀵은 마지막 스몰토크 버전인 Smalltalk-80의 문법과 대부분 호환됐으며 새로운 언어보다는 스몰토크의 새로운 구현체에 가까웠습니다. 하지만 시간을 거듭하며 스퀵은 자체적인 언어로 변화하게 됩니다.

스퀵은 스몰토크의 부활로써 많은 사람들이 스몰토크의 매력에 빠지도록 해주었습니다. 스퀵은 많은 청소년들에게 프로그래밍하는 방법에 대해 가르쳐 주었고, 많은 어른들에게 프로그래밍의 재미를 다시 알려주었습니다.

스퀵에 매력에 빠진 프로그래머들은 스퀵을 자신들의 일터에서도 사용할 수 있기를 원했습니다. 하지만, 문제가 조금 있었습니다. 스퀵은 산업 현장이나 상용 환경에서 사용할 수 있도록 설계된 적이 없었고, 실제로 사용하기에 너무 많은 메모리를 먹거나 불안정했습니다. 이를 해결하고자 나온 스퀵의 포크가 파로 (Pharo) 입니다.

 

비지니스를 위한 스몰토크, 파로 (Pharo)

Pharo의 모습.

파로 (Pharo) 는 프랑스의 Inria 연구소에서 시작된 스퀵의 비지니스 버전으로, 지금도 수많은 산업 현장에서 불철주야 일하고 있습니다. 또한 업데이트가 가장 활발한 스몰토크 구현체이기도 합니다.

스퀵이 '오락용 프로그래밍' 에 초점이 맞춰져 있다면 파로는 좀 더 '진지한 프로그래밍' 에 중점을 두었다고 보시면 될 것 같습니다. 실제로 파로는 스퀵보다 가볍고 빠르게 동작하며, 필요없는 레거시 코드를 모두 삭제하는 등 과격한(?) 행보를 보여주고 있습니다.

 

이 글에서는 스몰토크의 과거와 현재에 대해 알아보았습니다. 스몰토크의 인기는 아직 많지 않습니다만, 앞으로 차차 커져갈 것으로 저는 기대하고 있습니다. 긴 글 읽어주셔서 감사하며, 앞으로도 스몰토크에 많은 관심 부탁드립니다. 감사합니다.

 


댓글