Search This Blog

Yesteryear

Tuesday, December 16, 2003

December 16, 2003


           Non-computer types can skip today’s lesson. Bang up against the gap between what MS says and does again. Visual Basic is not a “new” language, it is retrograde, a step backward. For clarity, I learned the original languages (FORTRAN, COBOL, RPG, BASIC et. al.) and propose that no computer language since 1980 is “new” unless it has, as a primary feature, the simplest possible programming structure. That means, at least, that the items the programmer enters most often should have the fewest plain keystrokes. (“KeyStokes().Num” := variant.type(“Fewest.Amt”)) does not impress me.
           The problem today is joins. Each employee record contains a soft link to a 5-digit job-site number. Attached to that number is the job name, so reports will print in ordinary English. Quirk – if that job name is blank, usually because a new job has started, the report does not print the remaining fields. It does not even print that a record is missing. I can imagine the MS people all nodding and saying “of course”, but MS people don’t work in the real world.


           This has to be programmed in Visual Basic, a language for people who really don’t have a grasp on programming. They brag that there are many ways to do the same thing, but I find that not any given one of those ways does only that thing. Thus I propose that Visual Basic is not new, and predates it’s own discovery.
           This is my description of how Visual Basic was invented. Get about ten classical programmers together. Ask them to submit a log of these three things.

           1. All the code they had which produced undesired side-effects.
           2. Good ideas they had but that could just not be made to work right.
           3. Blind alleys which they finally quit pursuing.

           Call the result a new language, and re-write the manual so all the bugs become ‘features’. Add dozens of ctrl/alt/shift key combinations, parentheses, double-quotes and change the meaning of symbols that are standard in all other languages. You will have a very good approximation of Visual Basic.
           MS themselves do not understand the process exactly, evidenced by their failure to produce instruction manuals that cover the point. They just do not want you learning it well enough to know they don’t understand it themselves.
           What I have come up with is advice. In Visual Basic, do not become concerned how what you do immediately is going to fit into the big picture. Just do what you gotta do and somebody else will patch it up for you later. Even if you realize what you are doing may cause a problem elsewhere or later, do it anyway. By considering consequences, you are thinking like what MS derides as ‘linear’, and you should become more ‘elegant’.

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Return Home
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++