Self-limited Development

I'm sure you have already heard of the following proverb:

If all you have is a hammer, everything looks like a nail.

It has come to my mind while reading this Linked in discussion (don't be mislead by the original question), especially those answers claiming "never used goto" or that there is no need to use do-while.

Well, you should know what I think about goto, and I don't want to repeat here the good reasons to use it. What I'm saying is that if a tool has been provided by the creators of the language (and never removed across several revisions) maybe it's not so bad.

Look at the above toolbox: there is also a cutter. It's pretty sharpened and can be dangerous if not used carefully. I bet you'd never use a cutter instead of a screwdriver. Maybe sometimes you can use the scissors instead of the cutter but in some situations it will not be practical and probably the result won't be the same.

Would you avoid using the cutter just because it is potentially dangerous or because someone told you that it's not good? Why the hell are supermarkets still selling cutters if you don't have to use them?!

So, why are you not using some instructions legally provided by the language?


Image taken from Wikimedia Commons licensed under a Creative Commons Attribution-Share Alike 2.5 Generic license.