The original OS absolutely had shared libraries - the whole environment was so RAM-constrained that it was essential. (source - I was part of the early SW eng team). In fact, my memory is that they worked much better than competing systems because of Objective-C's late binding, in the practical case of sharing library code across applications built/shipped at different times on different OS versions. As I recall, C++ based systems couldn't deliver the full sharing on a typical user's system who was never running apps that were all updated for each major and minor release.