기타 업적

자료구조 책

파스칼 언어가 알골 60 언어를 한 단계 진화시켰다고 보는 이유 중 하나는 아마도 복합 자료 구조를 지원했기 때문일 듯싶다. 교육용 언어에 굳이 그런 새로운 요소를 추가할 정도로 비르트는 자료구조가 소프트웨어 프로그래밍에서 중요한 요소라고 생각했다. 그는 1976년에 알고리듬과 자료구조를 정리한 책​8​을 발표했는데 후대의 컴퓨터 교육에 큰 영향을 미쳤다.

P-코드

자바Java 언어는 강력한 이식성을 자랑한다. 일단 작성한 코드는 어떤 컴퓨터에 가져가도 실행할 수 있다. 심지어 프로세서의 명령어 구조가 다른 컴퓨터에서도 실행된다. 이것이 가능한 이유는 자바 언어로 작성된 코드가 JVM(Java Virtual Machine)이라는 가상 기계의 기계어로 변환되기 때문이다. 인텔 프로세서로 만든 컴퓨터이건, ARM 프로세서로 만든 컴퓨터이건 간에 해당 컴퓨터에 JVM이 설치되어 있기만 하면, 자바 언어로 작성된 코드는 무조건 동작한다.

파스칼의 P-코드도 마찬가지 개념이다. 가상의 컴퓨터가 가진 기계어 명령어 집합이다. P 컴파일러는 파스칼 소스 코드를 이 가상의 기계어로 변환해 준다. 자바 언어와의 차이점이라면, 자바 언어는 JVM이라는 가상 기계를 흉내 내는 소프트웨어를 컴퓨터에 설치해서 이 소프트웨어가 그 가상의 기계어를 하나씩 처리해 주는 것에 반해, 파스칼에서는 P-코드로 컴파일 결과가 나오면, 그것을 실제 프로세서의 기계어로 다시 변환하는 과정을 거쳐 최종 실행 코드를 생성했다.


  1. ​*​
    출처: https://en.wikipedia.org/wiki/Niklaus_Wirth
  2. ​†​
    출처: https://en.wikipedia.org/wiki/Niklaus_Wirth, CC BY-SA 3.0
  3. ​‡​
    해리 허스키는 영국의 국립물리연구소에서 앨런 튜링과 함께 전자식 컴퓨터 제작을 시도한 바가 있다. 그는 그 경험으로 Bendix G-15 컴퓨터를 설계했다.
  4. ​§​
    1992년에 튜링상을 수상했다.
  5. ​¶​
    멀틱스(Multics)는 PL/I로 개발되었고, 유닉스는(Unix) BCPL과 C 언어가 사용되었다.
  6. ​#​
    C 언어도 BCPL 언어에 타입을 추가하는 과정에서 만들어졌으므로, 파스칼과 유사한 궤적을 가졌다고 볼 수도 있겠다.
  7. ​**​
    프로그래머에게 파일 공간(디스크 공간)이 할당되고 대화형으로 작업을 하게 된 것은 멀틱스와 같은 시분할 시스템이 등장하면서부터였다.

참고문헌

  1. 1.
    Wirth Niklaus. From programming language design to computer construction. Commun ACM. Published online February 1985:160-164. doi:10.1145/2786.2789
  2. 2.
    An Interview with Niklaus Emil Wirth, Part 1. YouTube. Published June 6, 2011. Accessed January 25, 2023. https://www.youtube.com/watch?v=xCA5d87DtB0
  3. 3.
    Interview with Niklaus. Michael Holzheu; 2021:1. Accessed January 23, 2023. https://www.youtube.com/watch?v=OEmMx55SF8U
  4. 4.
    A. M. Turing Award Oral History Interview with Niklaus Wirth by Elena Trichina. ACM; 2018:1-32.
  5. 5.
    Turing AM. On Computable Numbers, with an Application to the Entscheidungsproblem. Proceedings of the London Mathematical Society. Published online 1937:230-265. doi:10.1112/plms/s2-42.1.230
  6. 6.
    Pascal Bubble Sort. Mississippi College. Accessed January 26, 2023. http://sandbox.mc.edu/~bennet/cs404/doc/sort_pas.html
  7. 7.
    Wirth Niklaus. Computers and Computing: A Personal Perspective. ETH Zurich; 2015:28.
  8. 8.
    Wirth Niklaus. Algorithms + Data Structures = Programs. Prentice Hall; 1976.

1 2 3 4 5