Breaking the silence

new topic     » topic index » view thread      » older message » newer message

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

new topic     » topic index » view thread      » older message » newer message

Search



Quick Links

User menu

Not signed in.

Misc Menu