Why I think compilers are written by people who can’t get dates…

I have to say this is a pet peeve of mine for, oh… about 30 years+

We’ve all hammered out a bit of code in a hurry to do something interesting and then totally missed something very obvious in the code.

Like missing a semi-colon off a line C, C++, Object C, C#, Pascal, ADA, Java, JavaScript… I could go on.

So why can’t the compiler say

“Dude, you missed the ‘;’ off this line. But it’s OK, I added it and nobody noticed and it works now! No bothers mate.”

Instead of the usual

“Hey moron! You missed the frickin’ ; off line whatever, what are you a total idiot! And your Mum!!”

My point being that if it’s a really obvious error and there is a quick fix to test then why on Earth didn’t the compiler developers make it do that. Just amend the source in memory and give it another go. If it fixes it “HURRAH!” otherwise head back to the more useful error message. More on that later….

I’ll tell you why! After spending 3 months in a team of 3 developing a simple language compiler or interpreter in 68000 assembler language while at University, I have to say I only wished ILL UPON EVERY LIVING SOLE THAT WAS HAVING A GOOD TIME!

I think we managed to get the stack and mathematics functions up and running, using reverse Polish notation (because it’s easy and we cheated). So our language took on very much the mantel of Forth.

On which subject Wikipedia gives FORTH a woeful write up on which I’m adding to. I’ll assume some Wikipedia NAZI will come along and remove whatever I do.. for no good reason!

But back to error messages. This one from Microsoft used to really light my blue touch paper

“An unknown error has occurred”

Seriously, it use to make me want to fly over to Seattle, drive to Redmond and then attack the cars outside Microsoft with a sledge hammer. Now I’m down to a ball hammer, but the same scenario.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s