Re: Freedom of choice
> If Rob can manage it, I would like to see it included.
> Just like Juri, I have had occasion to resort to a goto;
> although my experience is mostly 15years with mainframe
> languages such as COBOL, PL/1 and CLIST.
It indeed is the most wrong to force choices that have no affect on you. You
still find it in politics, and like that in many other cases, of which this
is one of it.
I would even argue, the same syntax rules do not apply to the same problem,
and (as I said a while ago) the first language that comes with the ability
to change/add/extent its own syntax and language in a practical way (read:
macro's .. eh NOT) will beat Euphoria IMHO.
However, on the other hand, using goto's does affect many of us. It affects
new potential users of Euphoria. It affects users of a library using goto's.
(you might get errors you dont get). It will force a group of programmers,
not only too to make up a list of rules, but also point out which statements
are to be used and which arent. If these kind of things get out of hand. You
could even come to see a sort of 'standard', that is too be used in all
group-based programming.
However, this does not counter the need for Goto's enough. Structured goto's
that is. They are more logical, more readable, and avoid the clumsy (what
would you call it otherwise) way we handle jumping out of multiple levels
using exit () and flags. I often heard the defense of 'you can always use
normal block constructs'. But consider a toolman. And tell him, he doesnt
need a hammer, cuz he can use his head or screwdriver instead. And yes
Goto's can be abused. But i think, I by now have proven (with my code) that
even Euphoria code can be a complete mess. Just look up some of my older
code. And the clone-game. They're all crappy coded. Possible abuse is not a
counterargument.
-Structured goto's.
-For each in .. (works nice for optimization as well)
-Structures
-Error handling (a simple function error (..) which you may not jump out.
The return value is stored at the end of ex.err)
-Graphics Support under win32
-No dos32 only routines, there is really no reason they *could* exist.
Everyhting you can do in Dos32 you are also able to do in win32.
-The ability to include whole text:
s = >> -- This means the next line will start the text.
This is just a message, and can be used in any expression
<< -- There can be whitespace before this, however it is not saved into the
text.
-And.. Optimize this:
sequence temp
temp = regs[3][4][1][343...345]
... lots of proccesing ..
regs[3][4][1][343..343] = temp
I would even prefer a new 'datatype' (well, actually it isnt a datatype)
called link.
link temp as regs[3][4][1][343..345]
.. proccesing temp ..
Normal scope rules apply.
I think the 'link' will be nice addition, however Robert, if he would
consider this, would rather go for the first approach of optimization,
because it will not add anything to Euphoria, and would also help, already
developped programs.
Did I forget anything ? Or have I list them all ?
Ralf
|
Not Categorized, Please Help
|
|