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

Most popular PC operating systems (CP/M, DOS, Mac, ...) from the 1980s to the early 1990s didn't have memory protection, yet people used them and still use them.

George RR Martin famously wrote on WordStar for DOS (a rewrite of the CP/M version) until at least 2014.

Turbo Pascal didn't have memory protection, but people still loved it and compare it favorably to modern IDEs. Both Turbo Pascal (DOS and CP/M) and Think C (Mac) have featured on HN repeatedly iirc.

As I understand it, Apple's Lisa had memory protection, but the Mac gave it up to reduce hardware and memory requirements. Apple's Pascal compilers (like many) supported range checking, but developers turned it off, giving up reliability for performance and code size. Then they switched to C, which laughs at memory safety* and introduced null pointers that conveniently pointed to Mac OS data in low memory/writable RAM (perhaps a hangover from Apple II/6502 programming.)

It's almost like CPU designers going for performance at any cost and introducing isolation and security flaws.

* Prof. Kernighan might point out that there are ANSI C compilers that are memory safe and that nobody uses, and that clang/LLVM might even implement a safe memory model someday



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

Search: