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.
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.