원본 논문

B Programming Language

  • 처음의 PDP-7 에서의 UNIX 는 날것의 assembly 언어로 되어 있었다고 한다.
  • 그러다가 나중에는 매클로이 아저씨가 TMG 라는 컴파일러를 UNIX 에서 작동하도록 만들었는데
  • 똠쓴씨가 Fortran 을 TMG 로 컴파일하도록 일주일정도 노력했지만 결과적으로는 이것은 B 언어의 탄생으로 이어졌다.
    • B 언어는 인터프리팅 방식이어서 다소 느리긴 했지만, 그래도 개발이 더 편해졌다고 하더라
    • 또한 syscall 을 호출하는 인터페이스도 추가돼서 system programming 도 가능해 졌다 하더라
  • 추후에는 PDP-7 에서 PDP-11 을 개발하기 위한 cross-compiler 도 B 로 개발되었고 TMG 를 대체할 PDP-7 에서의 B compiler 도 B 로 개발되었다.

C Programming Language

  • 하지만 PDP-11 UNIX 혹은 유틸리티들을 B 로 작성하는 것은 고려되긴 했지만 실제로 수행되지는 않았다.
    • 왜냐면 B 는 인터프리팅 언어이기에 다소 느렸기 때문.
  • 따라서 이러한 문제를 해결하기 위해 C 언어가 개발되었다.
  • 1973년에 이르러서는 UNIX 의 커널도 C로 다시 개발되며 현대적인 형태를 갖추게 되었다.
    • Multi-programming 도 도입되었고
    • 내부 시스템의 구조도 더 다듬어졌다고 한다.
  • 현재에는 assembler 이외에는 UNIX 의 커널 및 유틸리티 거의 전부가 C 로 개발되어 있다고 한다.