This is a blog about me, Seinfeld, okonomiyaki, japanese toilet seats, and other things of interest

Wednesday, February 06, 2008

Are you smart enough to make stupid mistakes?

make, the classic Unix program of './configure;make;sudo make install' fame, is an amazing application used by thousands of people every day. Stuart Feldman, make's inventor, was awarded the prestigious ACM Software System Award for make in 2003. Other winners of this award include Don Knuth and James Gosling. In other words, Feldman is a clever person.

So, why on Earth did Feldman decided that tab was a good first character for any line containing actions? Imagine how many man-years that have been spent on finding bugs due to typing a few spaces rather than a tab! I mean, it's not a coincidence that the programming language Whitespace isn't more widely used. According to 'The Art of Unix Programming', that I'm currently reading, this tab is one of the worst design mistakes in the history of Unix. I'm not sure if I agree, but it isn't pretty. In Feldman's own words:
Why the tab in column 1? Yacc was new, Lex was brand new. I hadn't tried either, so I figured this would be a good excuse to learn. After getting myself snarled up with my first stab at Lex, I just did something simple with the pattern newline-tab. It worked, it stayed. And then a few weeks later I had a user population of about a dozen, most of them friends, and I didn't want to screw up my embedded base. The rest, sadly, is history.

0 Comments:

Post a Comment

<< Home