On 07 March 2006 09:28, Dmitry Stogov wrote:
> Please reviw and vote.
>
> 1) goto and break label
> 2) goto only (like C)
> 3) break label only (like Java)
> 4) nothing
1) +0.25
2) -1e38
3) +1e38
4) -infinity
Or, in other words, I want labelled break, and I don't want to have to emulate
it with goto.
As a user who spent several *days* tracking down a subtle bug caused by a
continue n that hadn't been altered to continue n+1, I regard labelled break as
a vital addition -- for me, it's not the frequency with which it is used (very
low, I agree), but the incredibly disproportionate maintenance burden
(potentially extremely high). In my case, I was adding a level to a heavily
nested looping/conditional structure (7 or 8 levels deep) extending over
several hundred lines, and out of the few break/continue statements that needed
adjusting I missed just one. If they had been labelled breaks, there would
have been *no* maintenance problem, and I'd have had several more days on the
next step.
If the "Java-like" syntax is seen as confusing, what about, as in some other
languages, interpolating the label into the for/foreach/while statement:
for (....) label {...} or for label (...) {...}
This is clearly a different animal from a goto target label: (but should be in
the same namespace, of course).
OK, I'll shut up now and slope off into a corner. (Perhaps I should design my
own language whilst I'm there ... but nah, did that decades ago and got bored
-- prefer higher-level programming these days!)
Cheers!
Mike
---------------------------------------------------------------------
Mike Ford, Electronic Information Services Adviser,
Learning Support Services, Learning & Information Services,
JG125, James Graham Building, Leeds Metropolitan University,
Headingley Campus, LEEDS, LS6 3QS, United Kingdom
Email: [EMAIL PROTECTED]
Tel: +44 113 283 2600 extn 4730 Fax: +44 113 283 3211
To view the terms under which this email is distributed, please go to
http://disclaimer.leedsmet.ac.uk/email.htm
--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php