지난 월요일에 이일민씨가 호주로 돌아기 전 마지막 모임을 강남에서 가졌다.
개발자들만 모여서 맘 놓고 전산 오덕 수다를 떨었다.
iBatis와 하이버네이트의 성능 비교, 클라우드 컴퓨팅, 안드로이드, GWT, 자바의 미래, MVC와 MVP 패턴의 차이점, 생산성, 스프링 루, 그루비와 그래일스 등 잡다한 얘기를 했다. 그 중 동적 타이핑 언어 얘기가 언어의 표현력으로 넘어가더니 예전 C로 개발하던 시절엔 함축적으로 코딩하는 실력이 중요했다는 말이 나왔고 결국 호랭이(-_-) 담배 피던 시절에 월간 마이크로 소프트웨어에서 한동안 진행하던 원라인 콘테스트 얘기가 나왔다.
원라인 콘테스트는, 한 줄 짜리 베이식 코드를 제출하면 그 중 멋진 작품을 선정해서 마소지에 소개하는 방식으로 진행됐다. (상품을 줬던 것 같기도 하고...) 아무튼, 개발자로서 단지 즐거움 때문에 참여하고 즐길 수 있는 흔치 않은 기회였다. 베이식이 한 줄에 여러 명령어를 나열할 수 있었기에 가능했지만 당시 8비트 컴퓨터의 한계 때문에 한 줄에 255자 이상을 입력할 수 없었고 베이식 언어의 특성상 if문을 쓸 수 없었으니 한 줄로 뭔가 다른 사람을 놀라게 할만한 코드를 짜기란 쉬운 일이 아니었다.
(구글로 검색해보니 원라인 콘테스트에 대한 여러 글이 검색된다).
이 원라인 콘테스트는 사실 미국의
비글 브로스라는 소프트웨어 회사가 비 정기적으로 발행한 회사 홍보물에서 기인한 것으로 안다. 당시 세운상가 서점에서 불법 복제물로 몇 백 원이면 구할 수 있었던 이 책(사실은 제품 카탈로그)에는 자사 제품 광고 뿐 아니라 코믹한 그림과 재미있는 코드가 포함돼 있어서 나는 세운상가에 갈 때 마다 새 책이 나왔는지 확인하곤 했다.
이 책에는 여러 재미있는 삽화가 들어가 있었는데 그 중에는 한 줄짜라 코드가 들어가 있기도 했고 몇 개 안 되는 이 한 줄짜리 코드가 인기를 끈 것이다. 재미있기도 했지만 한 줄로 코드를 만든다는 점이 신선했던 모양이다.
이런 재미있는 삽화가 제품 광고 사이에 끼어 있을 뿐 아니라 다양한 프로그램과 컴퓨터 사용 팁도 소개했는데 그 중에도 역시 한 줄 코드는 있었다.
사실 한 줄 코드만 있던 건 아니다. 수 많은 짧고 재미있는 (그리고 유용한) 코드가 많았고 두 줄짜리 코드만 모아 놓은 특집 코너도 있었다.
코드만 가지고 얘기해서 그렇지 이 책자는 갖가지 위트로 가득차 있다. 예를 들어 멀티탭으로 컴퓨터, 모니터, 프린터를 한 번에 켜고 끌 수 있다거나 디스크를 양면으로 쓸 수 있다고 하는 혁신적(-_-)인 사용팁을 제공한다.
양면 디스크는 테스트를 거치지 않았기 때문에 데이터가 깨질지도 모른다는 제조사의 엄포에 대해서는 이런 만화로 대응하기도 했다.
이런 공익 활동도 했고...
이런 선구적인 철학도 가지고 있었다. 당시는 복사 방지 기술과 복사 프로그램이 경쟁하던 시기었다. (결국 복사 기술이 복사 방지 기술을 이긴 듯 하다).
이 회사는 카탈로그 뿐 아니라 프로그램도 무척이나 재미 있으면서 유용했다. 기억나는 프로그램만 나열해 보면...
- Alpha Plot - 그림 그리기 프로그램. 지금의 포토샵을 생각하면... 절대 안 된다. 오히려 윈도우 그림판 정도? 물론 마우스는 없었으니 키보드로... 암튼 그림 그릴 때 많이 사용했다.
- Beagle Bag - 몇가지 작은 게임을 디스크 하나에 모아 파는 제품이다. 게임이라곤 하지만 그냥 장난감 같은 프로그램들이었던 것으로 기억한다.
- Beagle Basic - 애플 베이식에서 안 쓰이는 명령어 대신 유용한 명령어(if의 else 같은)를 추가해준다.
- Beagle Compiler - 애플 베이식 프로그램을 중간 코드로 컴파일한다. 실행 성능이 향상된다.
- Beagle Graphics - 애플 ][e의 더블 고해상도 그래픽(무려 560x192)을 지원하는 그래픽 프로그램이다. 정말로 더블 고해상도 그래픽은 환상적(진짜로 -_-)이었다.
- D Code - 베이식이 인터프리터 언어이기 때문에 프로그램을 배포할 때 소스가 노출 될 수 밖에 없다. D Code는 베이직을 분석하기 어렵게(그리고 차지하는 크기도 작게) 만들어 준다. 요즘 자바스크립트에 쓰는 코드 압축 프로그램과 같은 놈이다.
- Dos Boss - 믿을 수 없겠지만 애플 도스 이진 실행 코드를 수정해서 기능을 향상시킨다. (Beagle Basic도 애플 베이식 코드를 직접 고친다). 당시에는 소프트웨어가 한번 출시되면 변경되는 일이 드물어 이런 접근이 가능했다.
- Double-take - 정말 이 거 없이는 컴퓨터를 쓸 수 없었다. 화면 위로 스크롤해서 넘어간 소스나 파일 목록을 거꾸로 다시 스크롤 다운해서 보여준다.
- Fatcat - 140kiB나 하는 플라피 디스크에서 파일을 찾거나 소트를 하거나 심지어 두 컬럼으로 파일 목록을 표시해 줌.
- Pronto Dos - 디스크 포멧을 최적화해서 속도를 높이고 용량도 키우는 멋진 시스템 프로그램이다. 다만 품질이 안 좋은 플라피 디스크를 쓰면 에러가 자주 났었다.
마지막으로 비글 브로스가 유명해진 이유 하나 더...
애플2를 손바닥처럼 다루는 사람들이 반드시 알아야 하는 제로페이지 정보, 각종 하드웨어 매핑 주소, 시스템 루틴 주소... 아는 사람은 안다.
오랜만에 예전 즐거운 때를 반추하면서 짧은 코드에서 얻는 즐거움이 다시 생각나니 기분이 좋다. 그때 느꼇던 즐거움이 지금도 이 일을 하며 살아가는 힘이 되는 것 같다.
덧붙임 #1: 글에 올린 모든 이미지는
Beagle Bros Software Repository에서 구했다. 이런 걸 구할 수 있을 줄 몰랐는데...
덧붙임 #2: 비글 브로스 때문에 난 창업을 해야겠다는 생각을 하게 됐고 비글 브로스 로고처럼 친구와 더불어 사업을 시작했다(그리고 10년 정도 하다가 망했다. 비글 브로스처럼).