Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Tried to search the web and couldn't find an answer. It might have something to do with "load", but that doesn't make much sense to me.

Obviously, "ln" was already taken, but where does that "d" come from?

share|improve this question
How would you assertively know that linking appeared before loading? – uprego Feb 5 '14 at 14:50
I wouldn't, and may well be wrong about that. – Sebastian Redl Feb 5 '14 at 14:53
But you could be right my dear, see here (linked from here (linked from here (linked from here))) that there is already a ln as long as the ar and ld in first edition UNIX ca. 1971. I'm afraid the living authors may be starting to forget this kind of anecdote. – uprego Feb 7 '14 at 23:15
up vote 31 down vote accepted

Linkers in Linux were originally called loaders. See Assembly Language Step-by-Step: Programming with Linux by Jeff Duntemann:

Linking the Object code File

...Linux comes with its own linker, called ld. (The name is actually short for "load", and "loader" was what linkers were originally called, in the First Age of Unix, back in the 1970s.)

share|improve this answer
Note that the term "loading" is still used - when starting a program it is loaded in some memory area and to quite some degree the same operations as with "linking" happen, not only due to dynamic/runtime linking .. "Linkers and Loaders" by John R. Levine (ISBN: 1558604960) is a good book for the ones who want to know all the details. – johannes Feb 3 '14 at 17:45
Please, please, please, people, please try to remember that computers and software and operating systems DID exist before Unix was invented. The term "loader", as in "relocating (or relocatable: both terms were common) linking loader" goes back to LONG before Unix. I first ran into it in about 1970, and I'd be VERY surprised if there weren't relocating linking loaders in 1960. – John R. Strohm Nov 11 '14 at 17:28
@JohnR.Strohm: Which is pretty much what my linked quote says. – Robert Harvey Nov 11 '14 at 17:53
@RobertHarvey: The point I was trying to make is that the term "loader" goes back to long BEFORE "the First Age of Unix, back in the 1970s." – John R. Strohm Nov 11 '14 at 18:40
@JohnR.Strohm: I'm not sure that matters. However, in the interest of being historically precise, feel free to edit in an authoritative reference. – Robert Harvey Nov 11 '14 at 18:43

Because it is "link editor". For example, Solaris and AIX man pages explicitly say so:

In the comment to the question there is an extremely interesting link to 1971 UNIX man pages. There is a ld man page, which explicitly states ld - link editor, see the man12.pdf file (page 20):

NAME ld -- link editor

Wikipedia mentions that there are different theories, one is "loader" one is "link editor".

Sidenote - amazing, regular expressions already existed in 1971...

share|improve this answer
Proof added, extremely easy to find even in internet. Now please provide reason for -1's. – user155813 Nov 11 '14 at 19:45
I didn't vote, so I can't give you any reasons. Others may have felt your answer was too thin on the ground. – Martijn Pieters Nov 11 '14 at 21:32
I find this answer better. ld is definitely link editor or linker as it does not load anything. is both linker and loader. – Miroslav Franc Nov 12 '14 at 9:01

protected by gnat Nov 11 '14 at 19:12

Thank you for your interest in this question. Because it has attracted low-quality or spam answers that had to be removed, posting an answer now requires 10 reputation on this site.

Would you like to answer one of these unanswered questions instead?

Not the answer you're looking for? Browse other questions tagged or ask your own question.