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
Of course, back in the day, I used the Goto to avoid repeated code or huge indentation. That said though with exception handling and what not, I have not "had" to use it in the last decade or so. But I still like the option of it being there just in case.
Rocky <>< Blog Post: Handy utility app that is always on my machines! Tech Blog Post: Microsoft Live Writer Plug-ins!
-
Of course, back in the day, I used the Goto to avoid repeated code or huge indentation. That said though with exception handling and what not, I have not "had" to use it in the last decade or so. But I still like the option of it being there just in case.
Rocky <>< Blog Post: Handy utility app that is always on my machines! Tech Blog Post: Microsoft Live Writer Plug-ins!
Back in the Day? I used them on ZX Spectrums and BBC's but that was because there was little choice. (Okay, gosub, but that was little better). You could, though, have some control of Goto (as it was spelt then) by use of flags, but it was very crude and nasty. Some things DO improve.
------------------------------------ "I want you to imagine I have a blaster in my hand" - Zaphod Beeblebrox. "You DO have a blaster in your hand" - Freighter Pilot "Yeah, so you don't have to tax your imagination too hard" - Zaphod Beeblebrox
-
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
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
-
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
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
-
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
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 Levinson -
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
-
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 used it, but it was for a good cause. No, wait. It was because the language I was working with did not have cycle constructs. :doh:
If you truly believe you need to pick a mobile phone that "says something" about your personality, don't bother. You don't have a personality. A mental illness, maybe - but not a personality. - Charlie Brooker My Photos/CP Flickr Group - ScrewTurn Wiki
-
I've never used goto, not once in 8 years of being paid for my code. More important, I've never once written code where I set out to avoid a use of goto. I've seen where it's used in error handling code, and it seems valid enough to me there, but I've alwaysh handled errors differently, and never felt that goto would make my code more readable. I've removed my share of gotos from code, I've never written one.
Christian Graus Please read this if you don't understand the answer I've given you "also I don't think "TranslateOneToTwoBillion OneHundredAndFortySevenMillion FourHundredAndEightyThreeThousand SixHundredAndFortySeven()" is a very good choice for a function name" - SpacixOne ( offering help to someone who really needed it ) ( spaces added for the benefit of people running at < 1280x1024 )
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.
-
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