Path: csiph.com!eternal-september.org!feeder.eternal-september.org!mx02.eternal-september.org!.POSTED!not-for-mail From: Ben Bacarisse Newsgroups: comp.lang.javascript Subject: Re: Using break in while loops bad habit? Date: Sun, 17 Jan 2016 01:29:37 +0000 Organization: A noiseless patient Spider Lines: 55 Message-ID: <87io2tf0xq.fsf@bsb.me.uk> References: <94ec98fa-9956-48c9-ad34-de8d07cd6419@googlegroups.com> Mime-Version: 1.0 Content-Type: text/plain Injection-Info: mx02.eternal-september.org; posting-host="017616aa25f81ec581c44d76d61ba2f3"; logging-data="14257"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19nb9CteVsc0ZFvsoyDJ8nX1WpuyUy8QqQ=" Cancel-Lock: sha1:IHGY982cOUYl61X+345KVwAE/2E= sha1:arUXfieOTf1g+RO65g8dftnIKfY= X-BSB-Auth: 1.34a70a16049f3592c4cb.20160117012937GMT.87io2tf0xq.fsf@bsb.me.uk Xref: csiph.com comp.lang.javascript:29275 "Michael Haufe (TNO)" writes: > On Saturday, January 16, 2016 at 6:20:15 AM UTC-6, jonas.t...@gmail.com wrote: >> I have a question regarding the use of breaks in while loops, it >> seem most breaks can be avoided by adding extra conditions for the >> loop. > > Correct. > >> However it somehow make it a bit harder to get the logic of the loop right. > > That would depend on how complex[1][2] the body of the loop is. > >> But how does the approaches compare from performance view? > > Hard to say. It would depend on the algorithm. > >> What was the main reason to include break in the language? > > Simply put: because Java had it. [3] > > Why did Java have it? > Because C++ had it. > why did C++ have it? > Because C had it. > Why did C have it? > Because BCPL had it. > Why did BCPL have it? > Because CPL had it. Did CPL have break? I can't find it in the most widely published paper on CPL[1] but CPL evolved a lot and was never finalised so it may well have acquired break by the end. Do you have a better reference? > Why did CPL have it? > Because ALGOL had it. Did Algol have it? I don't think so. > Why did ALGOL have it? > > Who knows. it had everything and is held up as an example of why > Design By Committee[4] is not a good idea. I'm not just nit-picking. Your idea is that it's lost in time in some committee's vanished collective memory, but break seems to have been added by BCPL -- a design be a single, still living, individual. So if that's the case one could ask! [1] "The main features of CPL", D. W. Barron, J. N. Buxton, D. F. Hartley, E. Nixon and C. Strachey, The Computer Journal, 1963. -- Ben.