22 hours ago, Bregma said:
I remember when AIX on the RS/6000 didn't support them at all. and certainly RSX on the PDP/11 didn;t support them
I wouldn't be so quick to dismiss it. They haven't been around since "as old as programming itself", but they've certainly been around for multiple generations of programmers.
I thought the PDP/11 had them, although it may have been in a different form. I only had limited exposure to the system at school.
I don't know where the cutoff is, but the timeline is understandable for thinking of dynamic libraries as that old. With overlays you had a library of code that was dynamically loaded but unique to your own program. The current incarnation of DLLs comes from the late 1980s, but the model is even older.
If you're looking at history, there was a time when program overlays transitioned from being unique to one program to being shared as libraries. I learned about unique, non-shared overlays being in mainframes very nearly since the first business monstrosities in the 1950s. A chunk of the executable was loaded into memory because there wasn't room in memory to hold the whole thing. It wasn't virtual memory, but they were certainly dynamically loaded and unloaded to account for available memory.
Shared overlay libraries were absolutely a thing back on the Commodore, I remember using them way back when I was cutting my teeth on the system, and that system dates to 1977. It was how PET BASIC worked. So 42 yeas at least on consumer hardware. Overlay managers were the hot new thing (and source of headaches) in the mid 1980s. I remember when I first learned about them it was coupled with leveraging segment:offset notation coupled with the dynamically loaded module; you could record the segment that contained the overlay, then a simple jump table could be used for the offset. It needed a test to ensure the module was loaded, but overlay managers usually handled that task.
But trying to stay on topic, new tools are often reinterpretations of old tools. The old systems often have different purposes than the new systems, as everything evolves over time.