1. Freedom of choice

------=_NextPart_000_0022_01BDEAD1.3C37DB80
        charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

I'm breaking my many months of passive reading of
this mailing list to give my option on "GOTO".

If Rob can manage it, I would like to see it included.
Just like Juri, I have had occasion to resort to a goto;=20
although my experience is mostly 15years with mainframe
languages such as COBOL, PL/1 and CLIST.=20

After all, why did we even try Euphoria? If we followed
conventional wisdom, however well-meaning, we would
be fighting pointer problems/memory leaks etc in C++ .
Bottom line: let the programmer decide; as soon as=20
you are told that "we know whats best for you, better=20
than you do" trouble looms. Ask IBM about OS/2 !!
Closer to home, my company (a large airline)  has=20
chosen mainframe software worth millions from non-IBM vendors
 because the smaller guys LISTEN and try to give=20
you what you asked for - not what you are told is
best for you.

Regards,
Alan Oxley
fizzpop at l.icon.co.za
(remove the .l after the @ if you want to email me)
   =20

=20

------=_NextPart_000_0022_01BDEAD1.3C37DB80
        charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

<!DOCTYPE HTML PUBLIC "-//W3C//DTD W3 HTML//EN">
<HTML>
<HEAD>

<META content=3Dtext/html;charset=3Diso-8859-1 =
http-equiv=3DContent-Type>
<META content=3D'"MSHTML 4.71.1712.3"' name=3DGENERATOR>
</HEAD>
<BODY bgColor=3D#ffffff>
<DIV><FONT color=3D#000000 size=3D2>I'm breaking my many months of =
passive reading=20
of</FONT></DIV>
<DIV><FONT color=3D#000000 size=3D2>this mailing list to give my option =
on=20
&quot;GOTO&quot;.</FONT></DIV>
<DIV><FONT color=3D#000000 size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT color=3D#000000 size=3D2>If Rob can manage it, I would like =
to see it=20
included.</FONT></DIV>
<DIV><FONT color=3D#000000 size=3D2>Just like Juri, I have had occasion =
to resort to=20
a goto; </FONT></DIV>
<DIV><FONT size=3D2>although my experience is mostly 15years with=20
mainframe</FONT></DIV>
<DIV><FONT size=3D2>languages such as COBOL, PL/1 and CLIST. =
</FONT>&nbsp;</DIV>
<DIV><FONT size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT size=3D2>After all, why did we even try Euphoria? If we=20
followed</FONT></DIV>
<DIV><FONT size=3D2>conventional wisdom, however well-meaning, we=20
would</FONT></DIV>
<DIV><FONT size=3D2>be fighting pointer problems/memory leaks etc in C++ =

.</FONT></DIV>
<DIV><FONT size=3D2></FONT><FONT color=3D#000000 size=3D2>Bottom line: =
let the=20
programmer decide; as soon as&nbsp;</FONT></DIV>
<DIV><FONT color=3D#000000 size=3D2></FONT><FONT size=3D2>you are told =
that &quot;we=20
know whats best for you, better&nbsp;</FONT></DIV>
<DIV><FONT size=3D2>than you do&quot; trouble looms. Ask IBM about OS/2=20
!!</FONT></DIV>
<DIV><FONT size=3D2>Closer to home, my company (a large airline)&nbsp;=20
has&nbsp;</FONT></DIV>
<DIV><FONT size=3D2>chosen mainframe software worth millions from =
non-IBM=20
vendors</FONT></DIV>
<DIV><FONT size=3D2>&nbsp;because the smaller guys LISTEN and try to =
give=20
</FONT></DIV>
<DIV><FONT size=3D2>you what you asked for - not what you are told=20
is</FONT>&nbsp;</DIV>
<DIV><FONT size=3D2></FONT><FONT size=3D2>best for you.</FONT></DIV>
<DIV><FONT size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT size=3D2>Regards,</FONT></DIV>
<DIV><FONT size=3D2>Alan Oxley</FONT></DIV>
<DIV><FONT size=3D2><A=20
>
<DIV><FONT size=3D2>(remove the .l after the @ if you want to email=20
me)</FONT></DIV>
<DIV><FONT size=3D2>&nbsp;&nbsp;&nbsp;&nbsp;</FONT></DIV>
<DIV><FONT color=3D#000000 size=3D2></FONT>&nbsp;</DIV>

------=_NextPart_000_0022_01BDEAD1.3C37DB80--

new topic     » topic index » view message » categorize

2. 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

new topic     » goto parent     » topic index » view message » categorize

3. Re: Freedom of choice

fizzpop wrote:

<snip>

> After all, why did we even try Euphoria? If we followed
> conventional wisdom, however well-meaning, we would
> be fighting pointer problems/memory leaks etc in C++ .
> Bottom line: let the programmer decide; as soon as
> you are told that "we know whats best for you, better
> than you do" trouble looms. Ask IBM about OS/2 !!
> Closer to home, my company (a large airline)  has
> chosen mainframe software worth millions from non-IBM vendors
>  because the smaller guys LISTEN and try to give
> you what you asked for - not what you are told is
> best for you.
>
> Regards,
> Alan Oxley
> fizzpop at l.icon.co.za
> (remove the .l after the @ if you want to email me)
>
>
>


                Aside from a general m-e to, I'd like to say I
have for some time felt anoyed anytime a language has/doesn't
have a feature or property for my own good, or to enforce
good programming or maintainability or some such. usualy such things
are subject to opinion. even things 'everyone knows' (I suspect those
first and foremost) It's really the only major strike against Euphoria
in my opion is the backwards order you have to write your functions and
procedures in.  I haven't really complained before because I have cut
& paste (though it is a pain to have to re-order things after i write
them) and if I had more time/less lazyness, I could write a
pre-processor
to auto order my procedures and functions.
        I don't think it's good to limit what a programmer can do
or how, based on opinion. it should be based on the actuall
function and performance of the language. deciding for others on
the basis of 'everyone should', or 'we all know that' is really
treating someone like thier incapable of thinking for themselves
(and potentially eliminating them from the customer base).
much better IMHO much better to explain better coding practices
than to force them on someone.
        while I can understand the reasoning behind the current
system imho it makes more sense to do it the other way.
        after all how many programs start "hmmm i think i'll write
a cool input routine" then go on to become a major database system
with it's own scripting language. How many new car designs start
out with an idea for a neat looking horn button??
        Now I'm shure someone (probably many) can and will come
up with counter arguments on this specific item, it only serves
to re-inforce my point. Not everyone is in agreement on the best
methods or styles.
        I personaly have found when others limit my options
'for my own good' it's either a disaster or a disaster born
of THIER own good.
        Since I spent so long on my pet peave I'd like to point
out a few good things.
        Fist is that if 2.0 is typical of the rds definition of
alpha and beta then most of the BIG  software I have wouldn't even make pre-alpha on
the same scale.
        Also Euphoria has to be the easiest language to overprogram
in I've ever seen, i keep writing lines and lines of code to check
for or do many things to findout a single line would handle it,
often more thouroughly and faster than my code. (this is really a
complaint about OTHER languages not handling the obvious, and
asking you define and outline everything 50 times)
        Also the ability to get fully functional workable language,
that lets you write unencombered (sellable without going through
leagaleese overhead/licencesing etc.) without first forking over $$$
is an impressive plus.
        Another is the huge amount of good, free code in existance
(compare how much for how few users to other languages)
        So RDS please keep up the good work, but please don't eliminate
options for non-technical reasons. it save 7% on speed is a good reason
to change somthing. It cuts mem use for globals by 50% is a good reason
it adds more flexibility to i/o handling is a good reason.
it helps forces you to use properly sturcted programming or keep your
code
more readable or maintainable is only implying programmers (your
potential
customers) can't think for themselves, or need to be taught these
things.
Not the best message in the world.
        And please don't take this as a flame, but as long winded advice.
Euphoria is, imho, a much better product than most out there. far more
stable and error free in alpha than most other programs I've ever used
in full release.


                        Kasey
p.s. the inquisition was for our own good too.

new topic     » goto parent     » topic index » view message » categorize

Search



Quick Links

User menu

Not signed in.

Misc Menu