← Back to context

Comment by Nextgrid

18 days ago

I think the problem is the legacy Unix-style concept of shared libraries and how anything touching native code is deeply intertwined with the OS itself.

Funny thing: I never liked shared libraries. There is something fundamental about them that is broken: it changes the execution context from the one that you had when you were testing your code prior to shipping. The space savings argument only made sense for a little while, what they should have done instead is build a much better linker that only includes the smallest subset of code that your program should have access to. That as well as a predefined set of file system bits which system calls you are allowed to make and which you are not.