THE CODE OF THE CRIMSON KING
EPITAPH
Including Code with no Reason and Confusion
The screens on which the code is writ
Are glowing gently green,
Upon the keyboards, coders pound,
To keep on track their dreams,
The project team is torn apart
With budgets, risks, schedules,
Will no-one check contractual tasks
As red tape binds the fools?
Between design and testing phase
The seeds of doom were sown,
And nurtured by the programmers,
Who coded and who've flown.
Unix is a deadly friend
When no-one knows the rules,
And fates of valued customers:
Hacked on a VAX by fools.
Confusion will be my epitaph,
As I write my code with tangled paths,
If we deliver we can all sit back and laugh,
But I fear maintenance we'll be crying,
Yes I fear maintenance we'll be crying.
THE CODE OF THE CRIMSON KING
Including Return of the Dire switch and The Dance of the Projects
The subroutines of ancient code,
Their time is almost done,
The interleaving Cobol days,
Are gone and C's begun,
The programmer types in his code,
Punch cards are not for him -
Object classes are defined,
In the Code of the Crimson King.
The keeper of the ANSI C,
Has written #DEFINEs,
I wait for source code to compile,
In insufficient time.
The code queen chants to Delphi gods,
While Unix hackers sing,
To summon back the IF-THEN-ELSE
To the Code of the Crimson King.
Assembly languages optimize
My critical routines,
I chase the perfect function call
And null-terminate my strings,
The master coder lifts his hand,
The lifecycle begins,
And parameters are parsed once more
In the Code of the Crimson King.
By soft gray light of Coke machines,
The SYSOPS share a joke,
I run to save my debugged files,
And satisfy their hoax.
The project leader does not code,
But pulls the project strings,
And smiles as his puppets write
The Code of the Crimson King.
(Whispered)
.... the coder plants a #DEFINE
While treading on a VAR .....
|
Another Glitch in the Call
We don't need no indirection
We don't need no flow control
NO data typing or declarations
Did you leave the lists alone?
Hey! Hacker! Leave those lists alone!
All in all it's just another pure-Lisp function call.
All in all it's just another pure-Lisp function call.
We don't need no semi-colons
We don't want no structured code
No procedure calls of functions
Did you leave my C alone?
Hey! Q.A.! leave my C alone!
We don't need no formal methods
We don't need no pseudo code
No recursive functions in the body
Did you leave with an exit code?
We want
Multiple exits from the code!
Implicit variables from typos!
And when the program works okay
Re-write the whole thing in COBOL!
Hey! Hacker! Leave my Fortran alone!
Another version:
We don't need no indirection
We don't need no flow control
No data typing or declarations
Hey! You! Leave those lists alone!
All in all, it's just a pure-LISP function call.
We don't need no side effect-ing
We don't need no scope control
No global variables for execution
Hey! You! Leave those args alone!
All in all, it's just a pure-LISP function call.
All in all, it's just a pure-LISP function call.
We don't need no allocation
We don't need no special nodes
No dark bit-flipping in the functions
Hey! You! Leave those bits alone!
All in all, it's just a pure-LISP function call.
All in all, it's just a pure-LISP function call.
We don't need no compilation
We don't need no load control
No link edit for external bindings
Hey! You! Leave that source alone!
All in all, it's just a pure-LISP function call.
All in all, it's just a pure-LISP function call.
|