Errors in TDPL

eles eles at eles.com
Thu Jun 24 00:06:28 PDT 2010


 I did not try to start a polemic, but to give something to think about. There
are more opinions on the matter and, as you may see, mine differs of yours. Is
not a tragedy.

 However, I think one should be more aware when supporting habit per se.

 Maybe adding "until" as an aliasing for "while not" would you seem more
acceptable? Or, at least, accepting "do{/* code */}aslongas(/*condition*/);" as
an alternative "do{/* code */}while(/*condition*/);" would be less disruptive?

 That way, people could use "do/while", but this will open the door for "do/
aslongas", if this is considered suitable. This will also avoid ambiguous cases
like pointed out in this thread (i.e. the danger of interpreting "while(/
*condition*/;i++" as a ";" bug). This will break no compatibility.

 Robustness of relying solely on the code indentation ("}while();" instead of
"while();") is not persuasive for me. Why dismissing an opportunity to avoid a
potential bug?

eles


== Quote from Jonathan M Davis (jmdavisProg at gmail.com)'s article
> Quality prevails over compatibility when the quality gain is deemed to
> exceed the problems incurred by losing compatibility.
> In this case, do-while works just fine. Lots of people are used to using it
> and have never even heard of repeat-until, having never used Pascal or any
> other language that used it. At this point, C's influence far outweights
> Pascal's.
> Also, AFAIK, do-while is not generally a major source of bugs. As such,
> while another construct might be better, since the current one isn't much of
> a problem, it's not worth breaking compatibility. If it were shown that do-
> while was a big problem, then it might be. But at this point, do-while works
> just fine, so it's not worth changing it.
> - Jonathan M Davis



More information about the Digitalmars-d mailing list