Choice of Language
©2000-2017 Roedy Green of Canadian Mind Products
Philosophy is a battle against the bewitchment of our intelligence by means of
language.
~ Ludwig Wittgenstein
(1889-04-26 1951-04-29 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 (International Business Machines) unit record equipment (punch cards), or by poking holes in
paper tape with a hand punch), failing that assembler, failing that FØRTRAN or
COBOL, failing that C and BASIC, failing that C++.
FØRTRAN
Write all your code in FØRTRAN. 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 FØRTRAN 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 (Assembler)
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 (Microsoft Assembler) 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.
Regex
Regexes are notoriously hard to proofread and debug. Use them
copiously, the longer and more convoluted the better.
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.