Tuesday, October 23, 2007

Legacy Apps

One topic that keeps appearing over and over in the last couple of weeks is the weird throw-away decisions that end up still be around and often still significant many years later. To give you an example of what I'm talking about I'll start with something fairly big. When I started college in 1989 (yes I'm old) I took a Fortran class. And in the class I was told that a certain amount of white space had to be included at the beginning of each line (I believe it was six or seven spaces). That if commands were started before then they would be cut off. I was told that this syntax dated back to when Fortran was primarily used on punch cards. Now I know it hadn't been that long since people were using punch cards (particularly since this was Fortran 77) but it still seemed pretty ridiculous to still be using syntax based on them.

Closer to home (at least my home, or my work more specifically). The name of the primary network where I work is "eur-domain1". For the vast majority of people who have to type that string it's just a cryptic collection of letters and symbols. Even for people in IT it doesn't make much sense. For one thing there is no "eur-domain2" or "0" or "3". And what is a "eur"? It actually stands for end user resource, but almost no one knows that anymore, in fact the guy that told me is now dead. In another example from my work there's a directory called NTUtils buried deep in some corner of the eur-domain1 network, and it turns out that just about anything you'd ever need to install is there and that in fact it's the primary resource for the whole hardware group. But rather than being someplace near the top of the directory structure and easy to find it's deeply buried in a really counter-intuitive place. Why? Because one of the original hardware techs put some installers there for his personal use and people started using them and now everything goes there.

Of course probably the greatest example of all is the Y2K bug, a decision that seemed harmless enough at the time, but ended up being a lot bigger deal than anyone thought. Anyway I've just been noticing it a lot lately. Though I know I'm forgetting some of the better examples I've come across recently. If I remember them I'll make sure to blog about them.

Go ahead, I deserve it


Blogger aozora said...

"When I started college in 1989 (yes I'm old)"
Whooops, careful with those declarations. ;-D

I studied only a little Fortran, did more work on COBOL, scant focus on Assembler and C, but I grew up playing with the punched out dots from paper tape in main frame rooms.

6:05 AM  
Anonymous hallamigo said...

I turned 13 in 1989. :)

The worst example I can think of is naming something "temp". The only offense worse than that is thinking it actually will be temporary. There is no temp in programming, only things named temp that last for years and years.

10:56 AM  

Post a Comment

<< Home