do you use goto? [modified]
-
Hey guys, My former team mate used goto's quite often (to my despair). I just published a small post on when to (not) use goto on my blog[^] where I try to look at this in a pragmatic way. I am interested if you are using goto's (or know someone who does?). Opinions? cheers, Pakl PS: This is just a blunt advertisment for my blog so I can lure you into it and become rich and famous. :-\
Listen to the toad! www.dotnettoad.com[^]
modified on Monday, May 19, 2008 4:44 AM
I don't use Goto and I get rashes when I see one. So, how about Exit/Break? Is that justifiable?
-
A few times for some testing/debuging purpose when I wanted to bypass code blocks. Never in production code (although I do feel it could be fun to litter some code with it, just for the heck of it :D)
--------------------------- Blogging about SQL, Technology and many other things
Alsvha wrote:
although I do feel it could be fun to litter some code with it, just for the heck of it
There is an evil person in there somewhere. If I found one of my guys using a Goto I'd haul them out into the light and display it a a case of what NOT to do. I thought it had been retired when we went to .net and was disgusted to see that it is in C#, and I thought VB was the only language inflicted with the bloody Goto.
Never underestimate the power of human stupidity RAH
-
Hey guys, My former team mate used goto's quite often (to my despair). I just published a small post on when to (not) use goto on my blog[^] where I try to look at this in a pragmatic way. I am interested if you are using goto's (or know someone who does?). Opinions? cheers, Pakl PS: This is just a blunt advertisment for my blog so I can lure you into it and become rich and famous. :-\
Listen to the toad! www.dotnettoad.com[^]
modified on Monday, May 19, 2008 4:44 AM
In a situation like this[^], I *will* use goto. And yes, I know what I'm doing.
Nobody can give you wiser advice than yourself. - Cicero .·´¯`·->Rajesh<-·´¯`·. Codeproject.com: Visual C++ MVP
-
Hey guys, My former team mate used goto's quite often (to my despair). I just published a small post on when to (not) use goto on my blog[^] where I try to look at this in a pragmatic way. I am interested if you are using goto's (or know someone who does?). Opinions? cheers, Pakl PS: This is just a blunt advertisment for my blog so I can lure you into it and become rich and famous. :-\
Listen to the toad! www.dotnettoad.com[^]
modified on Monday, May 19, 2008 4:44 AM
Pakl wrote:
I am interested if you are using goto's (or know someone who does?). Opinions?
I only use GOTOs in IL or ILASM where it is absolutely necessary. Otherwise, a standard 'if' statement is the simplest way to get things done.
Do you know...LinFu?
-
A wise man once told me that if I used goto (and this was back during the day) then I had to rethink my solution. He was right.
"Every time Lotus Notes starts up, somewhere a puppy, a kitten, a lamb, and a baby seal are killed. Lotus Notes is a conspiracy by the forces of Satan to drive us over the brink into madness. The CRC-32 for each file in the installation includes the numbers 666." Gary Wheeler "You're an idiot." John Simmons, THE Outlaw programmer "I realised that all of my best anecdotes started with "So there we were, pissed". Pete O'Hanlon
Actually, goto isn't *that* bad. In fact, MFC Framework code uses goto for handling initialization failures. But, I'll agree if you say that one will need goto very very very rarely. :)
Nobody can give you wiser advice than yourself. - Cicero .·´¯`·->Rajesh<-·´¯`·. Codeproject.com: Visual C++ MVP
-
Rephrasing it, "
If you plan using GOTO, you ought to GO-BACK and think again
".
Vasudevan Deepak Kumar Personal Homepage
Tech Gossips
A pessimist sees only the dark side of the clouds, and mopes; a philosopher sees both sides, and shrugs; an optimist doesn't see the clouds at all - he's walking on them. --Leonard Louis LevinsonQuoted from Wikipedia:
"...In defense of GOTO statements, others have noted that the restrained use of GOTO does not necessarily lead to poor quality code, and also argue that there are some tasks that cannot be straightforwardly accomplished in many programming languages without the use of one or more GOTO statements, such as implementing finite state machines, breaking out of nested loops and exception handling."
The good old GOTO has not been eliminated from modern languages because it's useful. The quality and readability of any code does not stand and fall with the use of GOTO or any other thing. Both depend more on the knowledge, skill and dicipline of the programmer. Rules like not to use GOTO are supposed to help us with reaching those goals, but they are not religious dogmas and should therefore not be seen as such. Often I have seen really clumsy code when somebody went out of his way to obey some rule at all cost. But there should be one more rule: Think about what you are doing, use whatever suits the task best and give the rest of the world some hints by providing documentation and / or meaningful code comments. Then to use or not to use GOTOs would be less of an issue.
A while ago he asked me what he should have printed on my business cards. I said 'Wizard'. I read books which nobody else understand. Then I do something which nobody understands. After that the computer does something which nobody understands. When asked, I say things about the results which nobody understand. But everybody expects miracles from me on a regular basis. Looks to me like the classical definition of a wizard.
-
Hey guys, My former team mate used goto's quite often (to my despair). I just published a small post on when to (not) use goto on my blog[^] where I try to look at this in a pragmatic way. I am interested if you are using goto's (or know someone who does?). Opinions? cheers, Pakl PS: This is just a blunt advertisment for my blog so I can lure you into it and become rich and famous. :-\
Listen to the toad! www.dotnettoad.com[^]
modified on Monday, May 19, 2008 4:44 AM
Yes, sometimes, writing
C
code. IMHO:"You must never usegoto
!" maybe a rule for the newbie, experienced developers can safely drop it. :)If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler. -- Alfonso the Wise, 13th Century King of Castile.
This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong. -- Iain Clarke -
Hey guys, My former team mate used goto's quite often (to my despair). I just published a small post on when to (not) use goto on my blog[^] where I try to look at this in a pragmatic way. I am interested if you are using goto's (or know someone who does?). Opinions? cheers, Pakl PS: This is just a blunt advertisment for my blog so I can lure you into it and become rich and famous. :-\
Listen to the toad! www.dotnettoad.com[^]
modified on Monday, May 19, 2008 4:44 AM
Yes, but I didn't inhale.
-
Hey guys, My former team mate used goto's quite often (to my despair). I just published a small post on when to (not) use goto on my blog[^] where I try to look at this in a pragmatic way. I am interested if you are using goto's (or know someone who does?). Opinions? cheers, Pakl PS: This is just a blunt advertisment for my blog so I can lure you into it and become rich and famous. :-\
Listen to the toad! www.dotnettoad.com[^]
modified on Monday, May 19, 2008 4:44 AM
Rule #1: Don't use goto. Rule #2: Know when to break Rule #1. Personally, I haven't come across an instance where I had to follow Rule #2.
Cheers, Vikram.
The hands that help are holier than the lips that pray.
-
Actually, goto isn't *that* bad. In fact, MFC Framework code uses goto for handling initialization failures. But, I'll agree if you say that one will need goto very very very rarely. :)
Nobody can give you wiser advice than yourself. - Cicero .·´¯`·->Rajesh<-·´¯`·. Codeproject.com: Visual C++ MVP
So rare that its basically extinct?
"Every time Lotus Notes starts up, somewhere a puppy, a kitten, a lamb, and a baby seal are killed. Lotus Notes is a conspiracy by the forces of Satan to drive us over the brink into madness. The CRC-32 for each file in the installation includes the numbers 666." Gary Wheeler "You're an idiot." John Simmons, THE Outlaw programmer "I realised that all of my best anecdotes started with "So there we were, pissed". Pete O'Hanlon
-
Rule #1: Don't use goto. Rule #2: Know when to break Rule #1. Personally, I haven't come across an instance where I had to follow Rule #2.
Cheers, Vikram.
The hands that help are holier than the lips that pray.
I know I owe you an email. It's still in my drafts folder. Will send it off. :)
Nobody can give you wiser advice than yourself. - Cicero .·´¯`·->Rajesh<-·´¯`·. Codeproject.com: Visual C++ MVP
-
In a situation like this[^], I *will* use goto. And yes, I know what I'm doing.
Nobody can give you wiser advice than yourself. - Cicero .·´¯`·->Rajesh<-·´¯`·. Codeproject.com: Visual C++ MVP
Yes, but the rules (as Vikram so adequately pointed out in his post below) is not for the exceptions but for the general case. Besides, Personally, I'd go for Judy's method (following the link you posted) as opposed to the goto method. Ugly as sin it may be but I find it readable and it maintains "the rule".
"Every time Lotus Notes starts up, somewhere a puppy, a kitten, a lamb, and a baby seal are killed. Lotus Notes is a conspiracy by the forces of Satan to drive us over the brink into madness. The CRC-32 for each file in the installation includes the numbers 666." Gary Wheeler "You're an idiot." John Simmons, THE Outlaw programmer "I realised that all of my best anecdotes started with "So there we were, pissed". Pete O'Hanlon
-
I don't use Goto and I get rashes when I see one. So, how about Exit/Break? Is that justifiable?
Justify? Before whom? If something serves the task at hand better than anything else then use it. How about letting those who try to enforce some rules at all price let do the justifying for a change? You might discover that many just howl with the wolves, but don't actually know why. In my opinion many of the rules are not written in stone. They are supposed to help us, but chaos does not automatically break lose if you decide to ignore them.
A while ago he asked me what he should have printed on my business cards. I said 'Wizard'. I read books which nobody else understand. Then I do something which nobody understands. After that the computer does something which nobody understands. When asked, I say things about the results which nobody understand. But everybody expects miracles from me on a regular basis. Looks to me like the classical definition of a wizard.
-
Rule #1: Don't use goto. Rule #2: Know when to break Rule #1. Personally, I haven't come across an instance where I had to follow Rule #2.
Cheers, Vikram.
The hands that help are holier than the lips that pray.
Vikram A Punathambekar wrote:
Rule #1: Don't use goto. Rule #2: Know when to break Rule #1.
Rule #3: Never goto #2.
Do you know...LinFu?
-
I know I owe you an email. It's still in my drafts folder. Will send it off. :)
Nobody can give you wiser advice than yourself. - Cicero .·´¯`·->Rajesh<-·´¯`·. Codeproject.com: Visual C++ MVP
Rajesh R Subramanian wrote:
I know I owe you an email.
The PHB thing? :~ Anyway, send it off; I'll read it tonight.
Cheers, Vikram.
The hands that help are holier than the lips that pray.
-
Hey guys, My former team mate used goto's quite often (to my despair). I just published a small post on when to (not) use goto on my blog[^] where I try to look at this in a pragmatic way. I am interested if you are using goto's (or know someone who does?). Opinions? cheers, Pakl PS: This is just a blunt advertisment for my blog so I can lure you into it and become rich and famous. :-\
Listen to the toad! www.dotnettoad.com[^]
modified on Monday, May 19, 2008 4:44 AM
No. I've simply never found a need for it in any reasonably coherant programming language.
Anna :rose: Linting the day away :cool: Anna's Place | Tears and Laughter "If mushy peas are the food of the devil, the stotty cake is the frisbee of God"
-
Vikram A Punathambekar wrote:
Rule #1: Don't use goto. Rule #2: Know when to break Rule #1.
Rule #3: Never goto #2.
Do you know...LinFu?
:groaaaaan: But that warranted a 5! :-D
Cheers, Vikram.
The hands that help are holier than the lips that pray.
-
Hey guys, My former team mate used goto's quite often (to my despair). I just published a small post on when to (not) use goto on my blog[^] where I try to look at this in a pragmatic way. I am interested if you are using goto's (or know someone who does?). Opinions? cheers, Pakl PS: This is just a blunt advertisment for my blog so I can lure you into it and become rich and famous. :-\
Listen to the toad! www.dotnettoad.com[^]
modified on Monday, May 19, 2008 4:44 AM
My opinion in using gotos is like C programming: it is up to the programmer to code properly. Some are so skilled to write ugly C code. If used properly, goto can could may might have a place in our hearts. E.g. the MS-DOS batch script below (tested on WinXP):
@echo off set i=0
:loop
set /a i=%i%+1
echo Loop %i%
if not %i% == 10 goto :loop -
Christian Graus wrote:
I've never used goto
Not explicitly, anyway. If you've ever used a C break or continue, implicitly you have, since break and continue are simply goto's with an implicit label that is just outside or inside the current end of scope.
Graham Bradshaw wrote:
Not explicitly, anyway. If you've ever used a C break or continue, implicitly you have, since break and continue are simply goto's with an implicit label that is just outside or inside the current end of scope.
By that reckoning anyone using an if ... then ... else is also using a goto. The argument is not that "jump" statements in a program are not required (in any non-trivial program they are unavoidable), but that structured programming constructs rather than the goto statment lead to more understandable programs. As Dijkstra said in his original letter[^] - "The go to statement as it stands is just too primitive, it is too much an invitation to make a mess of one's program." I haven't used a goto statement since I gave up programming in Basic
Graham Software gets slower faster than hardware gets faster - Nicklaus Wirth
-
Hey guys, My former team mate used goto's quite often (to my despair). I just published a small post on when to (not) use goto on my blog[^] where I try to look at this in a pragmatic way. I am interested if you are using goto's (or know someone who does?). Opinions? cheers, Pakl PS: This is just a blunt advertisment for my blog so I can lure you into it and become rich and famous. :-\
Listen to the toad! www.dotnettoad.com[^]
modified on Monday, May 19, 2008 4:44 AM
As in "go to h***" when I see someone using goto. Marc