1차 공개일 · 8월 18일1차 강의가 모두 공개됩니다
TECH 으로 돌아가기
TECH HACKER NEWS 오늘 7분 읽기 30 READS

Turbo Pascal이 8비트 시대에 남긴 것: MSX·CP/M 개발환경의 재발견

파스칼(Pascal)이라는 이름은 18세기 이전을 산 프랑스 수학자 블레즈 파스칼에서 왔다. 그는 열여덟 살이던 1641년 기계식 계산기를 만들었고, 이는 초기 컴퓨팅 역사의 한 갈래로 꼽힌다. 그러나 오늘날 개발자들이 기억하는 '파스칼'은 사람 이름보다 프로그래밍 언어에 가깝다. 니클라우스 비르트(Niklaus Wirth)가 1970년에 완성한 이 언어는 알골(Algol)의 블록 구조 스타일을 바탕으로 설계됐고, 두 가지 목표를 분명히 내걸었다. 하나는 프로그래밍을 체계적인 학문으로 가르치기에 적합한 언어를 제공하는 것, 다른 하나는 당시 하드웨어에서 신뢰성과 효율성을 모두 확보할 수 있는 구현을 정의하는 것이었다. 이 두 목표는 이후 ISO 7185 표준 문서에도 그대로 명시됐다.

교육용 언어에서 산업 도구로

1970~80년대 파스칼은 구조적 프로그래밍을 가르치는 대표 언어로 자리 잡았다. 당시 주요 플랫폼마다 컴파일러가 나왔고, 언어 자체는 ANSI 표준이 됐을 뿐 아니라 비르트가 이후 설계한 모듈라(Modula), 오베론(Oberon) 같은 더 진보된 모듈형 언어의 모델이 되기도 했다. 교육용으로 출발한 언어가 언어 설계사 전체에 영향을 남긴 셈이다.

이 흐름을 대중의 손에 쥐여준 것이 볼랜드(Borland)의 Turbo Pascal이었다. 볼랜드는 CP/M과 MS-DOS 양쪽에서 Turbo Pascal을 내놓았고, 특히 버전 3은 큰 성공을 거두어 80년대 소형 컴퓨터 소프트웨어의 상당수가 이 도구로 작성됐다. 흥미로운 점은 Turbo Pascal이 표준 파스칼이 아니었다는 사실이다. 볼랜드는 표준을 그대로 따르기보다 CP/M과 MS-DOS 환경에 맞춰 매우 실용적으로 언어를 손봤다. 버전 3은 CP/M용 마지막 판이었고, PC에서는 이후 여러 버전이 이어져 DOS 기반의 마지막인 Borland Pascal 7을 거쳐 윈도우용 델파이(Delphi)와 리눅스용 카일릭스(Kylix)로 진화했다.

MSX에서 Turbo Pascal을 실제로 쓰는 법

원문 자료가 특히 공들여 다루는 대목은 MSX 환경이다. Turbo Pascal은 MSX에서 유일한 파스칼 컴파일러는 아니었지만 가장 잘 지원되는 컴파일러였다. 필립스(Philips)가 자체 패키지로 배포하기도 했는데, 여기서 눈여겨볼 것은 당시 소프트웨어 제품의 형태다. 플로피 디스크는 매뉴얼 표지 안쪽에 라이선스 약관, CompuServe 포럼 가입 안내 같은 종이 마케팅물과 함께 끼워져 있었다. 사실상 '매뉴얼이 곧 제품'이던 시대였다.

그러나 Turbo Pascal을 상자에서 꺼내 그대로 쓰면 MSX의 하드웨어 기능은 거의 만질 수 없었다. MSX-BASIC과 달리 텍스트 출력 이상을 하려면 별도의 방법이 필요했는데, 해법은 기계어 조각을 INLINE 문으로 담은 인클루드(include) 파일이었다. 이 include 파일들을 통해 선(line), 박스, 원, 도형 채우기, 스프라이트, 그래픽 위 텍스트 표시 같은 기능에 접근할 수 있었다. 이는 오늘날로 치면 저수준 하드웨어 접근을 위해 어셈블리 루틴을 바인딩하는 작업과 본질적으로 같다.

이런 확장 라이브러리 생태계는 꽤 두터웠다. 마르테인 데커르가 만든 MDL-LIB는 타입·변수·상수 선언을 .lib 파일에 통합해 인클루드 남발을 줄인 버전 2.2를 퍼블릭 도메인으로 공개했고, Slotman은 MSX에서 직접 컴파일을 기다리는 불편을 없애기 위해 윈도우에서 동작하는 IDE인 'MSX PAD'를 만들어 자신의 include 파일까지 함께 제공했다. 카를로스 데 산타아나 가르시아가 만든 INL 파스칼 라이브러리는 Obsonet 같은 MSX 이더넷 인터페이스용 TCP/IP 스택 위에서 텔넷 클라이언트와 서버까지 구현했다.

오늘의 실무자에게 주는 시사점

이 자료는 단순한 향수 이상의 의미가 있다. 첫째, 한 언어가 '교육용 표준'과 '실전 방언'으로 갈라지는 전형을 보여준다. Turbo Pascal은 표준을 포기하는 대신 특정 환경에서의 생산성을 택했고, 그 실용주의가 곧 시장 지배력으로 이어졌다. 표준 준수와 현실 적합성 사이의 이 긴장은 지금의 프레임워크·런타임 선택에서도 반복되는 문제다. 둘째, 빈약한 기본 도구를 커뮤니티 라이브러리와 크로스 개발 환경으로 메운 방식은 오늘날 오픈소스 생태계의 원형에 가깝다. Slotman이 느린 온디바이스 컴파일을 피해 PC에서 개발하도록 만든 선택은 현대의 크로스 컴파일·에뮬레이터 기반 임베디드 개발과 정확히 같은 발상이다.

다만 이 기록의 한계도 분명히 해둘 필요가 있다. 여기 정리된 내용은 특정 애호가 커뮤니티가 보존한 자료와 개인 제작물에 크게 의존하며, 상당수가 프리웨어나 퍼블릭 도메인으로 흩어져 있다. 도구의 상태와 호환성은 배포판마다 제각각이고, PCX 변환 도구처럼 저자가 8년에 걸쳐 1999년 5월에야 완성한 프로그램도 있을 만큼 유지보수는 개인의 지속성에 달려 있었다. 지금 이 유산을 다시 살펴보려는 실무자라면, 잘 정리된 문서보다는 흩어진 아카이브를 직접 검증하며 재구성해야 한다는 점을 감안해야 한다.

SOURCE · HACKER NEWS
원문 전체 보기 → http://pascal.hansotten.com/delphi/turbo-pascal-on-cpm-msx-d...
SHARE
NEXT · CHOOSE

변화를 읽었다면,
내가 만들 수익 구조를 고릅니다.

정보를 더 모으는 데서 멈추지 않고, 광고·외주·판매·중개·구독 중 내 상황에 맞는 출발점을 정해보세요.

21가지 수익 구조 살펴보기
처리 중...