1. Freedom of choice
- Posted by fizzpop <fizzpop at ICON.CO.ZA> Sep 28, 1998
- 394 views
------=_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 "GOTO".</FONT></DIV> <DIV><FONT color=3D#000000 size=3D2></FONT> </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> </DIV> <DIV><FONT size=3D2></FONT> </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 </FONT></DIV> <DIV><FONT color=3D#000000 size=3D2></FONT><FONT size=3D2>you are told = that "we=20 know whats best for you, better </FONT></DIV> <DIV><FONT size=3D2>than you do" trouble looms. Ask IBM about OS/2=20 !!</FONT></DIV> <DIV><FONT size=3D2>Closer to home, my company (a large airline) =20 has </FONT></DIV> <DIV><FONT size=3D2>chosen mainframe software worth millions from = non-IBM=20 vendors</FONT></DIV> <DIV><FONT size=3D2> 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> </DIV> <DIV><FONT size=3D2></FONT><FONT size=3D2>best for you.</FONT></DIV> <DIV><FONT size=3D2></FONT> </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> </FONT></DIV> <DIV><FONT color=3D#000000 size=3D2></FONT> </DIV> ------=_NextPart_000_0022_01BDEAD1.3C37DB80--
2. Re: Freedom of choice
- Posted by Ralf Nieuwenhuijsen <nieuwen at XS4ALL.NL> Sep 28, 1998
- 398 views
> 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
3. Re: Freedom of choice
- Posted by Mycroft <Mycroft at STLNET.COM> Aug 16, 1998
- 426 views
- Last edited Aug 17, 1998
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.