본문 바로가기
개발일지/주저리주저리

파스칼(Pascal) 연서(戀書) - 3 - after 1980, by Hejlsberg

by 사악신 2012. 9. 11.

시작하기 전, 다시 1970년대와 Apple 의 이야기를 하여야할 것 같습니다. ^^ 1970년대의 컴퓨터라고하면 개인이 소지할 수 없는 고비용 빅사이즈의 괴물이었습니다. 이러한 컴퓨터에 대한 개념이 바뀌는 일대 사건이 일어나는데 그것은 바로 Apple I(1976년)과 같은 개인용 컴퓨터(PC, Personal Computer) 혹은 가정용 컴퓨터(Home Computer)의 등장입니다.



실제 제품 사진은 다음과 같습니다.



천재 스티브 워즈니악의 작품이자 스티브 잡스의 돈냄새 감각에 의하여 세상에 등장합니다. 이 당시에는 이렇게 키트 형태로 판매하였고, 본체 및 키보드와 모니터를 겸비하여 판매하는 것은 Apple II 부터입니다. 왜 이 이야기를 하느냐? 크게 두 가지 이유가 있겠습니다. 첫째는 Raspberry Pi 와 같은 저가형 PC 키트에서 볼 수 있듯, 역사는 반복된다이며...



두번째는 1980 년대 초반 CPU Z80 계열의 NASCOM 키트가 파스칼과의 인연이 있기때문입니다.



그것은 바로 1981년 Anders Hejlsberg 에 의해 등장한 the Blue Label Software Pascal Compiler 가 NASCOM 전용이었기 때문입니다.^^ 줄여서 BLS Pascal 이라고 부릅니다. 자, 이제부터 개인적으로 파스칼의 어머니라고 생각하는 Anders Hejlsberg 에 대하여 이야기해보겠습니다.


Hejlsberg 는 1960년 덴마크 코펜하겐 출신이며, Technical University of Denmark 중퇴의 학력을 가지고있습니다.(역시 천재들은~ 츄릅~) 1980년에 작업을 시작하여 1981년에 BLS Pascal 을 발표합니다. 총 12 K bytes 용량이었는데...


컴파일러 5.5 K bytes, 스크린 에디터 1.5 K bytes, 런타임라이브러리 4.5 K bytes, 제어 프로그램 0.5 K bytes 가 되겠습니다. 스크린 에디터를 제공하였고, 명령어를 통하여 카세트테이프로부터 프로그램을 불러오고 저장할 수 있는 기능을 제공하였습니다.


그리고 컴파일시 처음으로 발생한 에러의 소스 코드 라인으로 이동하는 기능을 제공하였습니다. 오늘날과 견주어도 기본적인 핵심 기능을 대부분 제공하고 있었지만, 파스칼 언어적인 측면에선 사용자 정의 형이나 집합, 그리고 파일 타입을 제공하지 않았습니다. 물론, 그 외의 요소는 모두 지원하였습니다.


그런데 어떻게 슈퍼컴퓨터에서 돌아가던 파스칼이 갑자기 저가 소형 컴퓨터에서 동작할 수 있게 되었을까요? 위키피디아를 통해 살펴 본 내용으로는, 헤즐스 버그가  Niklaus Wirth 의 "Algorithms + Data Structures = Programs" 책에서 언급된 Tiny Pascal 에서 크게 영감을 받았다고하는데... 해당 도서에는 Tiny Pascal 에 대한 내용이 없는 것으로 알고 있습니다.(좀 더 살펴봐야할 듯...)




아무튼 정반대의 세상 즉, 슈퍼 컴퓨터에서 저가용 소형 컴퓨터의 세상으로 등장한 파스칼은 그래도 역시 Niklaus Wirth 의 이론을 바탕으로 하고 있음은 확실해보입니다.(물론, 매우 많은 수의 다양한 파스칼 컴파일러가 등장하였습니다.)






1982년 헤즐스 버그는 Poly-Data microcenter 라는 회사를 공동 창업한 후, BLS Pascal 을 CP/M 과 MS-DOS 에서 사용할 수 있도록 재작업하여 1982 년에 Compas Pascal 이라는 이름으로 판매합니다. Compas Pascal 은 다시 CP/M-80 에서 동작하는 명령어 기반 컴파일러로 제작되어 Poly Pascal 이라는 이름으로 판매됩니다. 그리고 이 컴파일러가 Jensen-Wirth Pascal(표준 파스칼) 을 모두 지원하는 컴파일러가 되겠으며 볼랜드에 라이센스 판매되어 Turbo Pascal 이 됩니다. 재밌는 것은 시장에서는 Poly Pascal 과 Turbo Pascal 은 경쟁관계에 있었다는 점입니다.


Turbo Pascal v1.0 은 1983년 11월 20일에 출시하였으며 플로피 디스크로 배포 되었습니다. 당시 워드스타와 유사한 텍스트 편집기에 런타임 라이브러리, 메모리 실행, .COM 실행 파일 생성이 가능하였습니다. 전체 프로그램의 크기는 33 K bytes 였으며 CP/M-80, Z80, CP/M-86, MS-DOS/PC-DOS 에서 동작하였습니다. 바로, 파스칼의 대박 상품이 등장한 것입니다. 기존 언어 대비 엄청나게 빠른 컴파일 속도와 편리한 IDE(통합개발환경)의 등장으로 이 후 Borland 의 Turbo Pascal 은 말그대로 파스칼의 대명사가 되었습니다. 결과적으로 Hejlsberg 는 컴파일러 제작에서는 최고였지만... 사업은 별로였던 것 같습니다. 이것은 사업에선 최고였지만 제작은 별로였던 빌 게이츠와는 대비되는 점이라고 할 수 있겠습니다.


당시 PolyData 는 MS 의 소프트웨어도 판매하였는데 이는 당시 MS 와 관계가 불편했던 Borland 를 크게 자극하는 요소이기도 하였습니다. 여기서 LinkedIn 에 등록된 Hejlsberg 의 경력 사항을 살펴볼까요?



PolyData 는 1988 년에 결국 부도가 나고, 겸직을 하던 Hejlsberg 는 볼랜드로 이직하게 됩니다. 이후 1996년까지 Turbo Pascal 의 개발과 Delphi 를 개발하게 됩니다.(그야말로 Pascal 의 또 다른 황금시대) 1996년 MS 로 이직하고 이 당시 Borland 는 MS 를 상대로 소송을 걸기도 합니다. 일명, 직원 빼가기~ 그런데 Hejlsberg 의 경력과 PolyData 의 이해 관계를 생각해 보았을 때, 어느 정도 인과 관계가 있었던 것으로 보입니다.(그 외 비하인드 스토리들이 있는 것 같은데 논외하겠습니다.)


MS 로 옮겨간 Hejlsberg 는 괴물을 만들어 내는데 그것이 바로 J++ 입니다. Windows 에 최적화된 자바로 Active-X 개발도 가능한데다 속도마저 기존 자바의 성능을 크게 뛰어넘는 놈이 등장한 것이죠. 그러자 위협을 느낀 Sun 에서 MS 를 상대로 바로 소송을 겁니다.(라이센스 해줄 때는 언제고~ Sun 이나 MS 나 그 밥에 그 나물입니다.^^)


일명, Pure Java 가 이 당시 굉장한 이슈(Pure 가 아닌 것은? J++ 밖에 없습니다. ^^)였습니다. 결국, J++ 은 폐기처분 됩니다. 하지만 J++ 은 자양분이 되어 이후 C# 과 닷넷(.NET) 으로 다시 등장하게 됩니다. 물론, 라이센스 이슈와 상관없는 새로운 언어와 실행환경을 가지고서 말입니다. UCSD Pascal System 이 결국 Java 와 닷넷을 낳았고 그 형제들이 다시 세상의 패권을 두고 다툼을 벌이기도하고 뭐 그랬다는 이야기입니다. 아, 그리고 Visual Basic 의 성능 또한 이 무렵 크게 개선되기 시작합니다. 이 모두 다 파스칼의 어머니 덕분입니다. 아이러니컬하게도 그가 떠난 후, Delphi 는 한동안 삽질을 하였구요. ㅠㅠ (문득, 연오랑 세오녀 신화가 생각납니다.)


최근, Hejlsberg 의 행보를 살펴보면, 함수형 언어(F# 등...)에 매진하고 있는 것 같습니다. 갑자기 힘이 빠지는데... Turbo Pascal 의 버전별 특장점(C 가 가볍고 빠르다는 이야기는 Hejlsberg 에 의해 깨졌다고 봐야합니다.)이나 델파이에 대한 내용은 조금만 관심있으시면 쉽게 확인할 수 있는 것들이라 파스칼 연서는 여기서 줄일까 합니다. 뭐, 이후 기회가 된다면 델파이 연서를 쓰게 될 지도 모르겠습니다.ㅋㅋ


하지만, 파스칼이라는 언어의 역사와 이 언어를 이끌어온 영웅들과 또 그들과 함께한 이들을 살펴보면 앞으로도 꽤 오랫동안 컴퓨터 언어로서 영향력을 주고 받을 것으로 충분히 예상할 수 있습니다. C 와 C++ 이 OS 랑 함께해온 언어라면 Pascal 은 컴퓨터 언어와 함께해온 언어 그 자체라고 감히 말씀드릴 수 있겠습니다. 그동안 긴 글 읽어주셔서 감사합니다. 빠지거나 잘못 된 내용은 덧글로 달아주시면 감사하겠습니다.


반응형

댓글