객체 지향 프로그래밍의 선구적인 언어 스몰토크(Smalltalk)의 핵심 구현체 중 하나인 스퀵(Squeak)이 4년 만에 대규모 업데이트인 6.1 버전을 공개했습니다. 코드명 '바네사(Vanessa)'로 명명된 이번 릴리스는 지난 4년간 1,700개 이상의 패치와 9,000개 이상의 메서드 변경을 통합하며, 스퀵의 30주년을 기념하는 의미 있는 버전입니다. 특히 새로운 트리 브라우저(Tree Browser) 도입과 개발 도구 전반의 기능 확장이 눈에 띕니다.
스퀵 6.1은 개발 환경과 도구 전반에 걸쳐 사용자 경험을 대폭 개선했습니다. 개편된 트리 모프(tree morph)를 기반으로 시스템 카테고리, 클래스, 메시지 카테고리, 몬티첼로(Monticello) 패키지를 계층적으로 탐색할 수 있는 트리 브라우저가 핵심입니다. 이 브라우저를 통해 메서드, 클래스, 카테고리를 패널이나 환경 사이에서 드래그 앤 드롭으로 이동·복사하고, 상위 클래스 변경 및 재분류까지 가능해졌습니다. 디버거(Debugger)에는 'send until…', 'run to here' 등 새로운 명령이 추가되었고, 인스펙터(Inspector)는 사용자 정의 필드와 메뉴를 지원하며, 안드레아스 시스템 프로파일러(AndreasSystemProfiler)가 트렁크(trunk)로 통합되는 등 개발 도구 전반의 기능과 안정성이 향상되었습니다. 또한, 2003년 'Worlds of Squeak'을 재구성한 오브젝트랜드(Objectland)와 블롭모프(BlobMorph)가 복원되었고, UI 테마 요청 최적화를 통해 일반적인 도구 생성 속도가 약 50% 빨라지는 성능 개선도 이루어졌습니다.
언어 커널과 네트워크 기능도 강화되었습니다. 에페메론(Ephemeron)과 파이널라이제이션 레지스트리(FinalizationRegistry)가 도입되었고, 정규식은 유니코드 이스케이프, 이름 있는 캡처 그룹 등을 지원하며 기능이 확장되었습니다. IPv6가 기본 활성화되었고, MIME, SMTP, JSON 처리 및 웹서버(WebServer) 기능도 개선되었습니다. 특히 스레드 기반 오픈스몰토크(OpenSmalltalk) VM을 위한 백그라운드 FFI(Foreign Function Interface) 실행 기능이 개발 중이며, FFI 예외 처리 및 ARM64 지원도 강화되었습니다. 이러한 개선 사항들은 스퀵이 현대적인 개발 환경 요구사항을 충족시키면서도 스몰토크의 핵심 철학인 '실행 중인 이미지(live image)' 기반의 유연한 개발 경험을 유지하려는 노력을 보여줍니다. 높은 하위 호환성을 유지하지만, 일부 동작 변경 사항은 업그레이드 전 확인이 필요합니다. 이번 릴리스는 스퀵 커뮤니티에 큰 기여를 한 바네사 프로이덴베르크(Vanessa Freudenberg)를 기리는 의미도 담고 있습니다.
스몰토크는 앨런 케이(Alan Kay)가 주창한 객체 지향 프로그래밍의 원형을 가장 잘 구현한 언어로 평가받습니다. 자바스크립트(JavaScript)의 프로토타입 기반 객체 시스템 등 현대 프로그래밍 언어의 많은 개념이 스몰토크에서 영감을 받았습니다. 스퀵 6.1의 출시는 단순히 새로운 버전의 출시를 넘어, '실행 중인 이미지'를 직접 조작하며 개발하는 스몰토크 특유의 개발자 경험과 생산성을 현대적인 기술 스택과 결합하려는 시도로 해석될 수 있습니다. 특히 GUI 객체를 실행 중에 검사하고 코드로 바로 이동하는 등의 강력한 내성(introspection) 기능은 웹 애플리케이션 개발에서 잃어버린 개발자 경험을 되찾는 단초를 제공할 수 있다는 점에서 의미가 큽니다. 비록 일부 사용자들은 고해상도 디스플레이 지원 등 UI/UX 측면에서 여전히 개선이 필요하다고 지적하지만, 스퀵과 그 파생 프로젝트들(Pharo, Cuis Smalltalk, Glamorous Toolkit 등)은 스몰토크의 정신을 계승하며 독자적인 발전을 이어가고 있습니다.