Re: Re: Labeled Breaks (not the G-word)

From: Date: Sun, 27 Nov 2005 20:18:07 +0000
Subject: Re: Re: Labeled Breaks (not the G-word)
References: 1 2 3 4 5 6 7 8 9  Groups: php.internals 
Request: Send a blank email to internals+get-20669@lists.php.net to get a copy of this message
Goto exists in C. If you affirm that goto should not exist in PHP because it gives the opportunity to screw their code to programmers, are you also affirming that C programmers are smarter than PHP programmers ? Goto has had a bad reputation for far too much time. +1 for goto. On 11/27/05, Zeev Suraski <zeev@zend.com> wrote: > > At 20:03 27/11/2005, Robert Cummings wrote: > >On Sun, 2005-11-27 at 07:54, Zeev Suraski wrote: > > > Guys, > > > > > > Laughter has nothing to do with it. > > > > > > However, as discussed between those who attended the meeting in > > > Paris, goto earned its bad connotations for a reason. > > > >Goto got it's bad name from when it was used to jump to line numbers. I > >can't think of a case where jumping to a label within current cope is in > >any way unclear. > > > > > It was agreed > > > that providing a general-purpose C-goto equivalent is not a good idea > > > because it *will* very quickly lead to spaghetti coding styles. We > > > also came to the conclusion that the main use case that is not > > > covered by PHP today is that of 'centralized' error recovery, which > > > requires forward jumping only (if it wasn't for that use case, I > > > think we would have had consensus not to add any type of goto at all).. > > > > > > So, the logical conclusion appeared to be: > > > > > > 1. A forward-jumping construct only, to avoid giving users too much > > > ammo to shoot themselves in the foot with spaghetti coding. > > > >I think it should be called "leap" given your arguments. Because I think > >your having a "leap of faith" that you will EVER prevent bad developers > >from shooting themselves in the foot. > > Read one of my past posts that deal with how compatibility-breakage > is not binary but accumulating. The same applies to abuseable > features. The easier we make it to abuse the language, the worse it would > be. > > >IMHO you're marginalizing a useful operator to satisfy your perception > >of the reputation of goto. I don't think that reputation is well > >deserved, and I've never heard of spaghetti goto code in C... which as > >we know does allow backward and forward jumping within scope (not to be > >confused with none actually existing --- see previous comment about > >prevention of foot shooting). > > You've never heard of spaghetti goto code in C? I'm not sure if it's > a joke or not (too tired to understand it if it is) - but I certainly > have, and in the more distant past have seen quite a bit of it too. > > Zeev > > -- > PHP Internals - PHP Runtime Development Mailing List > To unsubscribe, visit: http://www.php.net/unsub.php > > -- Nicolas Bérard Nault (nicobn@gmail.com) "Maybe nature is fundamentally ugly, chaotic and complicated. But if it's like that, then I want out." -- Steven Weinberg (prix Nobel de physique, 1979).

« previous php.internals (#20669) next »