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

파스칼(Pascal) 연서(戀書) - 2 - after 1980, by Apple

by 사악신 2012. 9. 11.

주의!! 이 글은 파스칼 혹은 델파이 개발자들 외에는 읽기 어려울 수 있습니다.


1980년 이전 파스칼은 Pascal-Px 시리즈와 Pascal-P2 계열인 UCSD Pascal 에 의해 발전됩니다. 특히, UCSD Pascal 은 1980년 이후에도 지속적으로 영향을 주는데요. 바로 1980년대 초반, 베이직 언어의 부족한 부분을 메우기 위하여 Apple II 와 Apple III 컴퓨터에 UCSD Pascal 이 포팅됩니다. 이것을 토대로 애플은 자체 파스칼 컴파일러를 개발하게되는데, 1982년 Lisa 컴퓨터의 Lisa Workshop 에 Lisa Pascal 이라는 이름으로 내장됩니다.(스티브 잡스와 관련한 이야기는 하지 않도록 하겠습니다. 다만, 제 개인적인 입장은 스티브 워즈니악은 칭송받아 마땅하지만, 개발자들이 잡스를 받들어 모시는 건 이해할래야 할 수 없다라는 정도로 밝혀두겠습니다.)



이 Lisa Pascal 은 1985년에 매킨토시 용으로 포팅되고 MPW(Macintosh Programmer's Workshop) 에 포함됩니다. 그리고 1985년 애플의 Larry Tesler 는 파스칼의 아버지 Niklaus Wirth 와 협의하여 Object Pascal 을 정의하고 이를 Lisa Pascal, Mac Pascal 모두에 적용합니다.


아래는 MPW 와 Larry Tesler 입니다. MPW 는 이후 Mac OS X 에서 Project Builder IDE 로 교체되고 그리고 이것이 지금의 Xcode 로 발전합니다.



여기서 빠트릴 수 없는 것이 MacApp 이라는 놈인데... 최초의 object-oriented application framework 라고 할 수 있는 Lisa Toolkit 의 직계 프레임워크입니다. 그러니까 지금의 MFC, VCL 같은 거라고 볼 수 있으며, 실제로 MacApp 은 마이크로소프트의 MFC 와 볼랜드의 OWL 에 영향을 주었습니다. 이러한 Lisa Toolkit 의 개발은 Larry Tesler 가 주도하였습니다. 그러니 MacApp 이 Object Pascal 기반인 것은 당연한 이야기겠죠? ^^ (그러니 MFC 를 포함한 여타 객체지향 프레임워크의 조상은 파스칼에서부터 시작했다라고 해도 뭐라 할 말이 없는겁니다.)


이후 1990년대 대부분의 매킨토시용 어플리케이션 개발은 이 MacApp 기반으로 이뤄지게 됩니다. 하지만 Object Pascal 은 MacApp 1.0, 2.0 까지 사용되다가 이후 3.0 에서 C++ 로 교체되며 유즈넷과 각종 포럼에서 엄청난 논쟁을 불러일으키게 됩니다. 이미 C 와 파스칼 사이에 미묘한 기류(두 언어간 우월 논쟁)가 형성되었던 시점에 이것은 파스칼 진영에 상징적 의미(이미 PC 시장은 IBM 호환 기종으로 결정된 시기)에서 결정타가 되지않았나 생각합니다.


이후, MacApp 은 사실상 Mac OS 가 NeXTSTEP 계열로 변경되며 Cocoa 에게 자리를 물려주게 됩니다. 이 과정에서도 엄청난 논란을 불러일으킵니다. ^^ 프레임워크를 갈아치우는 것은 해당 개발자 그룹의 밥그릇을 걷어차는 행위라고 볼 수 있거든요. 그러나 당시엔 매킨토시가 죽느냐, 사느냐의 상황이었기 때문에 이러한 극단적 수술은 잡스 체제 하에 강행 처리됩니다.


이후의 과정은 파스칼과는 크게 연관이 없어 자세히 서술하지 않겠지만, Xcode 가 3.x 이후로 기존 GCC 기반에서 LLVM 기반으로 변경되는 과정은 관심있게 바라볼 필요가 있어보입니다. 델파이를 하시는 분이라면 무슨 뜻인지 아시겠죠? ^^ 아마도 조만간 파스칼이 다시 애플과 함께하는 날이 올 것으로 보입니다. 아니 시작되고 있지요.


자, 지금까지 1980년대 이후 UCSD Pascal 계열의 발전 과정을 살펴보았습니다. 다음 글은 진정한 1980년대의 주류 파스칼이라고 할 수 있는 Turbo Pascal 에 대하여 살펴보겠습니다.


반응형

댓글