Hacker News new | past | comments | ask | show | jobs | submit login

As Dan Ingalls (implementor of Smalltalk) said:

"An operating system is a collection of things that don't fit inside a language; there shouldn't be one."




Thats kind of just redefining the OS though, and what a programming language is.

Smalltalk is a VM, the VM isn't 'inside of' the language.

You could argue that an OS is just another high level virtual machine.


> Thats kind of just redefining the OS though, and what a programming language is.

Well, yes.

I am not deeply knowledgeable about the detailed history of Smalltalk, but my impression is that Alan Kay had the ideas and Ingalls wrote the code and made it work. He may be excused some bias. :-)

> You could argue that an OS is just another high level virtual machine.

Hmmmm. I think it depends on the OS.

OTOH, and I read this, barely understood it and disagreed with what I understood:

https://www.humprog.org/~stephen/research/papers/kell19unix-...


Well a VM is meant to provide a machine agnostic environment.

An os does the same, with the quirk that its processor specific.

If youre writing Posix C, you shouldn't need to care what that software is running on, as long as its Posix. same goes for a Java or Smalltalk VM.

I suppose some things get interesting, when you start thinking in terms of languages. If you want to write to a serial port, is that an OS thing, or is that a library? Same for the file system. Is MSDOS an OS, or a library?

if you want to go ultra minimalist an OS is just locks and privileges. but I don't think anyone would class that as an OS.

The only satisfying answer for me, is the OS as a collection of services. Those services could be in the form of a programming language, but as Mr Kay points out, some bits don't fit in the programming language model.

This then raises the question, of how far you can take the model. 'everything as a file' does quite well, despite not applying to everything




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

Search: