Choice of Language
by Roedy Green ©1996-2009 Canadian Mind Products
“Philosophy is a battle against the bewitchment of our intelligence by means of language.”
~ Ludwig Wittgenstein (born: 1889-04-26 died: 1951-04-29 at age: 62)
(Luigi’s older brother)
Computer languages are gradually evolving to become more fool proof. Using state of the art languages is unmanly. Insist
on using the oldest language you can get away with, octal machine language if you can (Like Hans und Frans, I am no
girlie man; I am so virile I used to code by plugging gold tipped wires into a plugboard of IBM unit record equipment (punch
cards), or by poking holes in paper tape with a hand punch), failing that assembler, failing that FORTRAN or COBOL,
failing that C, and BASIC, failing that C++.
FØRTRAN
: Write all your code in FORTRAN. If your boss ask why, you can reply that there are lots of very useful libraries that
you can use thus saving time. However the chances of writing maintainable code in FORTRAN are zero, and therefore
following the unmaintainable coding guidelines is a lot easier.
Avoid Ada
: About 20% of these techniques can’t be used in Ada. Refuse to use Ada. If your
manager presses you, insist that no-one else uses it, and point out that it doesn’t work with your large suite of
tools like lint and plummer that work around C’s failings.
Use ASM
: Convert all common utility functions into asm.
Use QBASIC
: Leave all important library functions written in QBASIC, then just write an asm wrapper to handle the large->medium
memory model mapping.
Inline Assembler
: Sprinkle your code with bits of inline assembler just for fun. Almost no one understands assembler anymore. Even a few
lines of it can stop a maintenance programmer cold.
MASM call C
: If you have assembler modules which are called from C, try to call C back from the assembler as often as possible,
even if it’s only for a trivial purpose and make sure you make full use of the goto, bcc and other charming
obfuscations of assembler.
Avoid Maintainability Tools
: Avoid coding in Abundance, or using any of its principles kludged into other languages.
It was designed from the ground up with the primary goal of making the maintenance programmer’s job
easier. Similarly avoid Eiffel or Ada since they were designed to catch bugs before a program goes into production.