Hacker News new | ask | show | jobs
by convolvatron 18 days ago
that seems backwards to me. one of the primary constraints in language development is the OS api. programs that don't interact with the world are increasingly less interesting, and you really have to work hard and be clever to change the file and its semantics, the socket, or the thread. these things have sharp edges and tend to be leaky.
1 comments

> that seems backwards to me

I'm not sure I completely understand which part you find backwards. Do you mean merging language runtimes and the OS is a bad idea, or that you think merging them would lead to more innovation?

I can see an argument for both (in terms of innovation), but being able to run only one language environment on a computer at a given time would make it much harder and heavy weight to use new languages. Or at the very least, new language runtimes.

I certainly see that the OS interface is limit to language innovation in that it assumes a lot the things I mentioned, and these tend to get shoehorned in and turn into a series layer violations to poke through all the needed flags and controls.

we definitely gain a lot of acceleration from having a common substrate, but it acts a constraint.

virtual machines are really a good out, whether that's a hardware isolation layer, or just a software abstraction. I think the view that the hypervisors present (simple virtio style devices) are maybe a better canonical OS interface than the sprawling syscall+library model.

but sure, unless I wanted to develop a language and runtime that _really_ looked different, I would try to paper over posix to the degree possible.