핵심 요약
- CHICKEN Scheme 핵심 메인테이너 피터 벡스가 Lisp 입문 과정과 최신 6.0.0 버전 릴리스 뒷이야기를 담은 인터뷰를 공개했습니다.
- 과거 대용량 데이터를 다루다 겪은 끔찍한 결함들 때문에 MySQL과 SQLite를 맹비난하며 PostgreSQL을 강력 추천하는 등 솔직한 기술적 소회를 밝혔습니다.
- 출시를 가로막았던 원인 불명의 힙 손상 버그를 끈질기게 추적해 해결한 과정과 중년 개발자로서의 건강 관리법도 함께 전했습니다.
요약 오픈소스 프로그래밍 언어 CHICKEN Scheme의 핵심 메인테이너이자 현업 Clojure 개발자인 피터 벡스(Peter Bex, @sjamaan)가 기술 인터뷰를 통해 자신의 프로그래밍 여정과 기술적 견해를 밝혔습니다.
그는 어릴 적 물려받은 C64로 베이직을 접한 뒤 C언어를 거쳐 대학에서 Scheme(Lisp)과 인공지능을 전공했습니다. 당시에는 현재의 대규모 언어 모델(LLM) 유행 이전이라 A* 탐색이나 유전 알고리즘 같은 전통적 AI 알고리즘을 배웠으며, 신경망은 그저 블랙박스에 불과하다고 느껴 큰 흥미를 갖지 못했다고 회고했습니다. 이후 루비 온 레일즈(Ruby on Rails)를 거치며 실무 데이터베이스의 중요성을 깨달았습니다.
특히 데이터베이스에 대한 솔직한 평가는 개발자 커뮤니티의 큰 공감을 샀습니다. 그는 Rails 기본값이었던 MySQL 시절 문자셋 지옥과 대용량 데이터 처리 중 잦은 다운 현상을 겪으며 치를 떨었다고 회상했습니다. 또한 트랜잭션 내 DDL 미지원, 엉뚱한 기본값, nullable이 아닌 enum에 빈 문자열 저장을 허용하는 등 수많은 함정(footgun) 때문에 "MySQL 이야기만 나오면 피가 거꾸로 솟는다"고 강도 높게 비판했습니다. 반면 PostgreSQL은 안정적인 UTF-8 검증과 원자적 마이그레이션, 고급 기능 등을 제대로 지원해 강력히 선호한다고 밝혔습니다. SQLite에 대해서도 기본적으로 타입을 무시하는 등 위험한 기본 설정 탓에 피한다고 덧붙였습니다.
또한 최근 배포된 CHICKEN 6.0.0 버전 개발 비화도 소개했습니다. 6버전은 파이썬 2에서 3으로 넘어간 것보다 훨씬 덜 파괴적이면서도 UTF-8 처리를 표준화하고 R7RS 지원을 내장화했습니다. 출시 직전 위키 서버에서만 간헐적으로 힙 메모리가 손상되는 치명적인 버그가 발생해 서브버전(SVN) 클라이언트 라이브러리를 의심했으나, 끈질긴 디버깅 끝에 CHICKEN 6의 UTF-8 전환 과정에서 망가졌던 심볼릭 링크 읽기(read-symbolic-link) 코드가 원인이었음을 밝혀내 해결했다고 전했습니다.
마흔을 넘긴 그는 개발자 특유의 좌식 생활로 인한 근감소증을 예방하기 위해 최근 바벨 웨이트 트레이닝을 시작했으며, 두 아이에게는 소셜 미디어의 위험성과 개인정보의 중요성을 가르치는 '기술 회의주의' 방식으로 양육하고 싶다는 개인적인 일상도 덧붙였습니다.
Sponsored · 광고