With my next post, some of you will question what I know about programming and what I know about old, tangled programs as well. Those of you who trust my opinion can skip this post. It is boring.
I have written programs in a number of languages.
On the mainframe: Fortran, Assembler, PL/I, Cobol, APL, REXX. I also wrote JCL (job control language), and documents in Script/GML (a document language preceding, and comparable to, HTML).
I also debugged and extended a CASE tool of 70,000 lines written in a private interpreted language. I consulted in improving performance in a device created by a bank, which had a private, interpreted language with the interpreter using FCL. I worked on the language, the interpreter, and the compiler (which in that version was a Big suite of Assembler H macros).
On the PC: Assembler, (Turbo) Pascal, Basic, Java, SmallTalk, .bat and .cmd files, and I wrote things like .pro files for DWScript (to support the FX-80, ProPrinter, and PCL-3). I have written a converter that takes script/gml and emits rtf format. (In FreeBasic, eh?)
I have seen a lot of code. I debugged the original version of Restart at BoM. I was test manager for the first IBM cash dispenser project in Canada. I could go on and on.
Believe me, I have seen a lot of code. I was the Application Architect of a major IBM Canada project for several years, and I learned a lot about cleaning up old code and writing nice, clean, extendable new code. I worked with good, smart people and I learned from them.
In my next post I will compare the law to software program code. This, above, is my background.