Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Pure Pascal is not really suitable as an operating system implementation language. The obvious design choices are to:

1. Transition to C completely.

2. Extend Pascal (like HP did - HP called their resulting language MODCAL).

3. Support in-line C code in the Pascal compiler.

4. Support in-line assembly in the Pascal compiler.

For superior library support and other reasons, Apple made the right choice here.



Pascal as used on the Apple II, III, Lisa, Mac, and IIgs had the minimal extensions needed to be a systems language and was pretty much isomorphic to C.

The “switch” from Pascal to C in the Mac market was less a “switch” and more a change in preference by developers—you could use either language and line by line your code would be equivalent. And the switch at Apple was likely just following the market.

The APIs themselves used a language independent calling convention—arguments passed in CPU registers, not the stack, and system calls invoked by invalid opcodes in the 0xA000–0xAFFF range, not by JSR to a function pointer—so neither Pascal nor C really had an “advantage.”


Hi. Article author here.

Pascal isn't ideal, but it has derivatives which are.

Pascal became Modula-2, in which several large-scale OS implementation efforts were made, including Acorn ARX.

Modula-2 became Oberon, which is an OS: https://news.ycombinator.com/item?id=15753138

There is also Euclid, which was used to implement a Unix. Yes, a Unix in Pascal. https://en.wikipedia.org/wiki/TUNIS




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: