4 ms·
C the language doesn't have shared libraries. That's something some systems add themselves. Edit: Is this not the case? I am under the impression that it is,
by burgerbrain 15y ago
C the language doesn't have shared libraries. That's something some systems add themselves.
Edit: Is this not the case? I am under the impression that it is, and is relatively new at that.
- scott_s 15y agoWhich is why I said "the traditional C model of shared libraries." Shared libraries are not a part of the C language itself, but most real systems make heavy use of shared libraries. Even statically linked C programs have this problem, because optimizing across object files is hard - most compilers don't even try. Not being a part of the C language itself is irrelevant. The traditional linker has been a part of the C ecosystem for decades.
- burgerbrain 15y agoStatically linked programs certainly still have this problem, I'm not contending that at all. I would not however call shared libraries a "traditional model" at all. Particularly in the fields that C seems to be getting relegated to more and more these days.
- scott_s 15y agoIf you're running a Unix derived system, most of the programs are using shared libraries. That fits "traditional" in my mind.
- burgerbrain 15y agoA sufficiently modern Unix derived system, sure ;) I have quite commonly seen shared libraries not done on embedded systems however, regardless of heritage.
- scott_s 15y agoAnd I don't consider embedded systems to be traditional. Otherwise, we wouldn't have to qualify it with "embedded."
- burgerbrain 15y agoThey are certainly a traditional stronghold of straight up C.
- nknight 15y agoThe embedded systems I work on use shared libraries, C++, shell scripts, and even Adobe Flash. Dynamic linking has been around since the 1960s, and is the model that has been used by almost all currently active developers for their entire careers. Arguments based around specialized microcontrollers, hard real-time systems, life-or-death control systems, etc. are off in the woods. Few developers use such systems in the real world, and their code is statistically irrelevant to comparisons between e.g. Python and C.
- burgerbrain 15y ago"The embedded systems I work on use shared libraries, C++, shell scripts, and even Adobe Flash." Consider yourself lucky...