
dBASE III, 기억하시는 분 계실까요
혹시 'dBASE'라는 이름 들어보셨어요? 지금 주니어 개발자분들에겐 낯설겠지만, 1980년대엔 개인용 컴퓨터에서 데이터베이스를 다룬다 하면 거의 dBASE였어요. DOS 환경에서 돌아가던 dBASE III는 단순한 데이터 저장 프로그램이 아니라, 자체 프로그래밍 언어까지 갖춘 물건이었거든요. 명령어를 입력하면 바로 실행되는 대화형 환경에다, .prg 파일에 코드를 짜서 업무용 프로그램을 통째로 만들 수도 있었죠. 이 dBASE 계열 언어를 통틀어 'xBase'라고 부르는데, 한때 기업 전산실을 책임지던 주력 도구였어요. 그런 추억의 dBASE III를 누군가 웹 브라우저 안에서, 그것도 자체 인터프리터까지 직접 만들어서 되살려 놓은 프로젝트가 바로 'WebBase-III'예요.
'인터프리터를 직접 만들었다'는 게 왜 대단하냐면
이 프로젝트의 핵심은 단순히 옛날 화면을 흉내 낸 게 아니라는 점이에요. dBASE의 명령어를 진짜로 해석하고 실행하는 인터프리터(interpreter)를 자바스크립트로 새로 짰거든요. 인터프리터가 뭐냐면, 사람이 쓴 코드를 컴퓨터가 알아듣고 한 줄씩 실행해주는 번역기예요. 우리가 쓰는 파이썬이나 자바스크립트도 다 인터프리터(혹은 그 사촌인 컴파일러)가 뒤에서 돌아가는 거죠.
언어 인터프리터를 만든다는 건 보통 세 단계로 나뉘어요. 먼저 렉서(lexer)가 USE customers, LIST, APPEND BLANK 같은 글자 덩어리를 의미 있는 토큰(낱말)으로 쪼개요. 그다음 파서(parser)가 그 토큰들을 문법 규칙에 맞춰 트리 구조(AST, 추상 구문 트리)로 짜 맞추죠. 마지막으로 평가기(evaluator)가 그 트리를 따라가며 실제 동작을 수행해요. WebBase-III는 이 과정을 전부 브라우저 안에서 처리해서, dBASE 명령을 입력하면 그 자리에서 결과를 보여줘요. 데이터도 브라우저 저장소에 담기니까 서버가 아예 필요 없는 구조고요.
왜 이런 걸 만들까
"요즘 누가 dBASE를 써?" 싶을 수 있어요. 맞아요, 실무에서 dBASE를 새로 도입할 일은 거의 없죠. 하지만 이런 프로젝트의 진짜 가치는 다른 데 있어요. 첫째는 보존이에요. 수십 년 전 소프트웨어와 그 사용 경험을 디지털 박물관처럼 살려두는 거죠. 옛날 dBASE로 짠 .prg 코드가 있던 분이라면 브라우저에서 바로 돌려볼 수 있고요. 둘째이자 더 중요한 건 공부거리로서의 가치예요. 인터프리터를 직접 만들어보는 건 프로그래밍 언어가 내부적으로 어떻게 돌아가는지 이해하는 가장 확실한 방법이거든요. 평소에 'AST'니 '파싱'이니 하는 단어를 막연하게만 알고 있었다면, 이렇게 작고 명확한 언어 하나를 통째로 구현해보면 그 개념들이 비로소 손에 잡혀요.
비슷한 흐름들
사실 '옛날 기술을 브라우저로 되살리기'는 꽤 활발한 장르예요. 도스박스(DOSBox)를 웹어셈블리로 포팅해서 브라우저에서 옛날 도스 게임을 돌리는 인터넷 아카이브 프로젝트가 대표적이고, 애플 II나 코모도어 64 같은 옛 컴퓨터를 자바스크립트로 에뮬레이션하는 사이트도 많거든요. 다만 WebBase-III가 살짝 다른 건, 기존 바이너리를 '에뮬레이션'한 게 아니라 언어 자체를 '재구현'했다는 점이에요. 에뮬레이터가 옛 CPU의 동작을 그대로 흉내 내는 거라면, 이건 dBASE 언어의 문법과 동작을 새로 해석해서 구현한 거라 결이 좀 다르죠. 작은 언어를 직접 만들어보는 흐름은 'Crafting Interpreters' 같은 책이 인기를 끌면서 개발자들 사이에서 꾸준히 사랑받고 있어요.
한국 개발자에게
당장 업무에 쓸 일은 없을지 몰라도, 사이드 프로젝트 아이디어로는 정말 훌륭한 예시예요. 거창한 새 언어를 만들 필요 없이, 자기에게 익숙한 작은 도메인 언어(DSL)를 하나 정해서 렉서-파서-평가기 흐름으로 구현해보면, 평소 프레임워크 뒤에 가려져 있던 '코드가 실행되는 원리'가 보이기 시작하거든요. 이건 정규표현식을 더 잘 쓰게 되거나, 빌드 도구·트랜스파일러의 동작을 이해하거나, 나아가 컴파일러 관련 면접에 대비하는 데까지 두루 도움이 돼요. 브라우저만으로 완결되는 구조라 배포도 간단하니, GitHub Pages에 올려두고 포트폴리오로 보여주기에도 딱이고요.
정리하자면
WebBase-III는 한물간 옛 기술에 대한 향수이면서, 동시에 '언어는 어떻게 동작하는가'를 손으로 배우는 살아있는 교재예요. 추억과 학습이 한 프로젝트에 담긴 셈이죠.
여러분은 직접 만들어보고 싶은 작은 언어나 인터프리터가 있으신가요? 아니면 dBASE처럼 "이건 꼭 브라우저에서 되살아났으면" 싶은 옛날 프로그램이 있다면 한번 얘기해봐요. 🖥️
🔗 출처: Hacker News
"비전공 직장인인데 반년 만에 수익 파이프라인을 여러 개 만들었습니다"
실제 수강생 후기- 비전공자도 6개월이면 첫 수익
- 20년 경력 개발자 직강
- 자동화 프로그램 + 소스코드 제공