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

See...there's the thing; dynamic linking was originally done by Unixen in the '80s, way before Linux, as a way to cope w/ original X11 on machines that had only 2-4MB of RAM.

X was (in)famous for memory use (see the chapter in the 'Unix-Hater's Handbook'); and shared libs was the consensus as to how to make the best of a difficult situation, see:

http://harmful.cat-v.org/software/dynamic-linking/



According to your link ( great link BTW ) Rob Pike said dynamic linking for X was a net negative on memory and speed and only had a tiny advantage in disk space.

My preference is to bring dependencies in at the source code level and compile them in to the app - stops the library level massive dependency trees ( A need part of B but because some other part of B needs C our dependency tool brings in C, and then D and so on ).


This seems to have worked out well for the plan9 guys. It's just not a popular approach nowadays.




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

Search: