Breaking the silence
- Posted by Peter Robinson <indorlaw at yahoo.?om.?u> May 16, 2008
- 667 views
It's fair enough that people think we don't care when we rarely speak, but just so you don't think it's true ... I think Euphoria's personality, as Jacques correctly put it, is founded on the use of close-to-natural language, like pseudo-code. Things like this:- while 1 label something do whatever while 1 do "top" statements that (perhaps) look sensible when viewed next to traditional programming languages, are complete gibberish in a natural language context. It's got nothing to do with it being English. The constructs in other Western languages are similar. If we want to label something, put the label at the top of the block outside the natural language sentential flow. Because of Euphoria's style, I prefer explicit labelling like:- label outer: while etc However, the more I see the useful discussion on this, and remember my own problems, the more I think we all have to bite the bullet on backward jumps within blocks. You often want to retry something earlier within a block, but it's not always at the start of a block. Sometimes you want to retry the code immediately following the error or validity checking, or some such thing. Sometimes you just want to go back 2 lines, and don't want to wrap it in a procedure that excises the code to a distant place. I favour allowing backward references to labels within blocks. For clarity, I would like the labels to be marked in language, not symbols, and would prefer that they have their own line (like in VB), though that is contrary to usual Euphoria convention. I would include all blocks, if, while, for, proc, func. This need comes up quite often, it is not due to illogical coding, and the alternatives are often barbarous. The demand for forward jumps is less, but the discussion about fall-throughs in case statements highlights that it is an issue. The typical conditional involves a forward jump. Should the default for a case fall-through, or jump to the end. I would support forward jumps to labels in blocks, but would not be horrified if they were omitted. Forward jumps could be used to fall through, and you wouldn't necessarily have to fall to the next level. I'm not mad on optional keywords, don't really like them, but not as horrified as others. I often forget the 'then' or 'do' because I more often code in C. I like the fact that Euphoria makes me state the logic, even though I swear harder than most when I regularly leave out these keywords. One thing I don't do is spend hours figuring out what I did wrong. Not sure how many people I would represent, but I can assure you that there are some lurkers who are actually very interested and concerned at the future of the language. I must have become a registered user in about 1999, and barely a day has gone by since then when I didn't read the list. Best of luck Pete Robinson