The Programmer's Viewpoint
(to the tune of "My favorite things")
This routine sets up some pointers to functions,
And this one completely reverses conjunctions,
This function here turns your trees into rings,
And does other rather unusual things...
Pointers to longwords with external labels,
Pointers to structures in segmented tables,
Pointers to pointers to pointers to strings
(This code does some *rather* unorthodox things...!)
Unions and structures and macros included,
Some of which seem to be quite convoluted,
Library calls make the network go "ping!"
(And other sometimes inexplicable things)
When the crash comes, when the core dumps
When the data fries,
I simply recall these unusual things
.then I know *why* it dies.
Assemblers, preprocessors, dynamic loaders,
Linkers, compilers, and optimized coders,
Debuggers and dumpers and archivers bring
Online a programmer's favourite things...
Scanners and parsers and string tokenizers,
And lexicographical line analyzers,
Tools that make endless arrays of the strings,
These are some more of a programmer's things...
Debuggers and coredumps and function backtraces,
Registers, breakpoints and strange interfaces,
Contexts and byte-ordering problems do cling,
but these are a programmer's *favourite* things (uck!)
When the core dumps, and the disk hangs,
and the program dies,
"Well, hey, it did just what I told it to do
-- Tell the Boss that my program *flies*!"