It wasn't me. You can't prove anything.


2006-06-07

The Great Tab Wars
I would start at the beginning, but this is a tale that has no beginning. This conflict is as old as programming itself. It is a battle fought over the space before each line in a program. This bit of white space is very important because it is the only human connection left once the computer takes the list of instructions and runs with it. The only way a human can keep track of where they are in the logic, the lowly tab is all important.
I have witnessed the result of poor practice. I have corrected the troubling jumble of unfollowable chicken scratch that the computer has spat back at me and said "NAY. Thy code sucketh. Be gone ye slow-witted child from my cyber space and begot no further atrocity upon my kernel."
As I slog through someone else's hastily jotted lines of instruction looking for the proper swath of drone for to please our ever dominant electronic overlords, I find myself in a fog of ugly, sloppy, swampy, slippery all too human code.
One would not traverse a desert without a map and extra water. One would not challenge the oceans wrath in an inner tube. When code does  not have the proper layout, it is impossible to follow for we mere mortals. The term readability means something else when used with computer programs. It means, someone else has to figure out what the hell you were trying to do. This can take many forms. Comments, proper variable and procedure names, name space, and proper tabulation. If it were not for we, the programmers, with the need to change things, the code could be an endless belt of dots telling the computers which switches to throw and when.
This brings me to my story.
On a day before the tab wars there were many programming platforms. Each had it's purpose. Each had it's strengths. Each had it's experts and this is the way programmers liked it. Then came management. And the manager said "We need synergy. We need cross-platform capability. We need you programmers to work together." And all the managers rejoiced at what they had done. This was no more than a bunch of words in an email, but that's what managers get paid to do.
The programmers committed the sin of communication and began to squabble. The  managers banished the programmers from the high places for ever to dwell in darkened interior rooms with low walls and poor ventilation. The programmers preferred it this way and rejoiced. They ate many sweets and consumed cola and coffee by the bucket.
Then came the day that Bryan was fed up with all the programmers screwing up the tabs in the programs and he wrote a program that would go in and force all tab characters to four spaces and have done with it. And Bryan won this battle. And from that day to this it is known as the gospel of Bryan. Oh, wait, that's a movie, isn't it? Fortunately, Bryan chooses his battles and does not often abuse his power.
...
When I started working here, I was told to use four spaces instead of tab characters. My lips parted, but before I could utter an objection, I was told "You don't want to get in the middle of this one. That war has already been fought." And, I complied with a shrug. I still have make files for real tab characters. They are above the gospel. That is another blog entry.

No comments: