←back to thread

330 points todsacerdoti | 1 comments | | HN request time: 0.2s | source
Show context
pdpi ◴[] No.46239164[source]
GNU's version of Yacc is called Bison. Pine Is Not Elm (even though that was never an official acronym). UNIX was UNICS which was a pun on MULTICS. I couldn't for the life of me tell you what dd stands for. nano is a copy of pico which was the "PIne COmposer". Postfix is a completely opaque portmanteau of post (as in mail) and "bug fix". C++ is "C incremented", and C is the successor of B, which is the successor of BCPL.

Developers haven't "lost the plot", we never had it in the first place.

Inversely, Clang, LLDB, jq, fzf, loc are modern projects perfectly in line with the author's notion of a good name. "mise-en-place" is the perfect metaphor for what mise does.

replies(16): >>46239266 #>>46239267 #>>46239293 #>>46239675 #>>46239818 #>>46239903 #>>46240006 #>>46240043 #>>46240475 #>>46240516 #>>46240745 #>>46240858 #>>46240981 #>>46240986 #>>46242271 #>>46242669 #
anyfoo ◴[] No.46239266[source]
> I couldn't for the life of me tell you what dd stands for.

Data(set) Definition. But that name does not make any sense whatsoever by itself in this context, neither for the tool (it hardly "defines" anything), nor for UNIX in general (there are no "datasets" in UNIX).

Instead, it's specifically a reference to the DD statement in the JCL, the job control language, of many of IBM's mainframe operating systems of yore (let's not get into the specifics of which ones, because that's a whole other can of complexity).

And even then the relation between the DD statement and the dd command in UNIX is rather tenuous. To simplify a lot, DD in JCL does something akin to "opening a file", or rather "describing to the system a file that will later be opened". The UNIX tool dd, on the other hand, was designed to be useful for exchanging files/datasets with mainframes. Of course, that's not at all what it is used for today, and possibly that was true even back then.

This also explains dd's weird syntax, which consists of specifying "key=value" or "key=flag1,flag2,..." parameters. That is entirely alien to UNIX, but is how the DD and other JCL (again, of the right kind) statements work.

replies(6): >>46240018 #>>46240367 #>>46240644 #>>46241335 #>>46241977 #>>46243486 #
1. ◴[] No.46240367[source]