Hacker News new | ask | show | jobs
by fluffysquirrel 3724 days ago
https://groups.google.com/forum/#!msg/alt.folklore.computers...

" > "Dennis Ritchie" <d...@bell-labs.com> wrote

>> Spurious. dd was always named after JCL dd cards. > > Alright, I'll bite: What did that "dd" stand for?

I hesitate to leap in front of Dennis Ritchie, but ...

On IBM mainframes, programs are started by "submitting" them in JCL ("Job Control language") to JES, the Job Entry System.

One of the most important statements in JCL is the DD statement. DD stands for "Data Definition". It is used to define the data (duh ;-) that is used when the job is run - input files, output files etc.

JCL has a "unique" flavour; it is utterly unlike normal programming languages and is archane, cryptic, obscure, complex and rude. It is also ugly and stupid. However there is so much JCL in the world that, hell, we still have to live with it - even after thirty years of Unix ;-).

The Unix dd command copies data from one place to another, rather like a typical DD card in a JCL stack.

The "if=", "of=", "bs=", etc, parameters to the Unix dd command retain some of the characteristic syntactic idioms of JCL (not to say that the dd command is as ugly as JCL - it just has a faint echo of the JCL syntax).

For a mainframe guy, the dd command on Unix gives a nice homely touch.

Cheers Andrew "