DesignPatternSmalltalkCompanion:1.5
1.5 어떤 Smalltalk 방언일까?
현 시점에서 Smalltalk 개발 환경은 수없이 많다. 지난 수년 간 월드와이드웹을 통해 Smalltalk 관련 사이트를 살펴볼 때마다 새로운 개발 환경이 발표되는 듯이 보였다. 물론 "Big Three" 는 있으며, ParcPlace, Digitalk, IBM 이 바로 그것이다. ParcPlace 는 Smalltalk-80 를 본뜬 Objectworks 라는 이름의 환경을 내놓았지만 최근에는 VisualWorks[1] 라고 불린다. 그들은 월드와이드웹이 가능한 Smalltalk의 서버 버전을 VisualWave 란 이름으로 판매하기도 했다. Digitalk 환경의 공식명칭은 Smalltalk/V 이지만 현재는 Visual Smalltalk 로 부른다. 오래된 Smalltalk/V 환경 대다수를 아직도 이용할 수 있다. 사실 Smalltalk/V Win16(16비트 윈도우 버전)는 Smalltalk Express 처럼 Objectshare 로부터 WindowsBuilder Pro/V UI builder 와 결합해서 현재 무료로 사용할 수 있다. IBM Smalltalk 는 비주얼 프로그래밍 애플리케이션 제작도구인 VisualAge 와 번들되어 있지만 프론트 엔드식 비주얼 프로그래밍 환경 없이도 Smalltalk 개발 환경을 구매하거나 설치할 수 있다.
ParcPlace 와 Digitalk 가 합병되어 ParcPlace-Digitalk 가 되었으며, 두 가지 Smalltalk 방언을 합병할 계획이라고 발표했다. 그러나 이 책을 쓰는 현재, ParcPlace-Digitalk 측에서는 기존 버전을 계속해서 지원하겠지만 Visual Smalltalk 에 대한 제품개발은 더 이상 이루어지지 않을 것이라고 발표한 상태다. 아직도 Visual Smalltalk 로 설계하고 프로그래밍하는 사람들이 많기 때문에 이 소식은 유감이 아닐 수 없다.
Dolphin Smalltalk, Smalltalk MT, Squeak 을 비롯해 Cincom ObjectStudio (이전 명칭은 Enfin), Gemstone (객체지향 데이터베이스 시스템과 번들된 Smalltalk), SmalltalkAgents, Smalltalk/X, GNU Smalltalk, 그리고 그 외에도 우리가 생각해내지 못한 새로운 이름을 포함한 소규모의 Smalltalk 버전이 상당히 많다. 주 플랫폼마다 최소한 하나의 Smalltalk 버전이 있으며, PC (DOS, OS/2, 16비트와 32비트 윈도우 운영체제), Macs, UNIX 기계, IBM AS/400s, 심지어 IBM 메인프레임도 해당된다.
본 책은 가장 오래 사용된, 그에 따라 사용자 수가 가장 많을 법한 Smalltalk 방언에 초점을 둔다. 이는 저자들의 사용 경험이 가장 많은 방언들이기도 하다. 물론 수시로 다른 환경을 참조하긴 하지만 주로 VisualWorks 와 Visual Smalltalk, 그리고 이보다는 경험이 적지만 IBM Smalltalk 도 고려한다. 이러한 환경들의 기반 클래스 라이브러리로부터 현재 사용 중인 다수의 패턴 예제를 도출해냈다. Smalltalk 환경으로부터 코드를 인용하거나 코드 예제를 제시할 때는 다양한 Smalltalk 방언마다 코드와 관련된 차이점이 있기 때문에, 어떤 방언을 설명하는지를 확실히 표시했다.
하지만 Smalltalk 는 Smalltalk 라는 점을 명심하자. 여러 방언들 사이에 차이는 있지만, 차이점보다는 닮은 점이 더 많으며, 여기서 제시된 코드 예제의 대다수는, 그대로 또는 약간의 조정 후 어떠한 Smalltalk 방언에 적용해도 잘 작동할 것이다.
Notes
- ↑ 현재는 Cincom 사의 제품이다. http://www.cincomsmalltalk.com/main/products/visualworks/