1. When it comes to GOTOs...

I could really use 'em. Anybody from RDS lurking on the list? Read this
message!!!

-------------------------------------
When it comes to programming languages, Euphoria is a cut above -
matt1278 at juno.com and matt1421 at juno.com(and soon to be
irisnmatt at prodigy.net. Then again, maybe not) Euphoria programmer

new topic     » topic index » view message » categorize

2. Re: When it comes to GOTOs...

couldn't goto's cause real problems in an interpreter?

snortboy

Matt Z Nunyabidness wrote:

> I could really use 'em. Anybody from RDS lurking on the list? Read this
> message!!!
>
> -------------------------------------
> When it comes to programming languages, Euphoria is a cut above -
> matt1278 at juno.com and matt1421 at juno.com(and soon to be
> irisnmatt at prodigy.net. Then again, maybe not) Euphoria programmer
>

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

3. Re: When it comes to GOTOs...

no, they're actually good. Suppose you have this section of the program
you want to do at certain times, but a procedure wouldn't do the trick.
You use line numbers.

-------------------------------------
When it comes to programming languages, Euphoria is a cut above -
matt1278 at juno.com and matt1421 at juno.com(and soon to be
irisnmatt at prodigy.net. Then again, maybe not) Euphoria programmer

___________________________________________________________________
You don't need to buy Internet access to use free Internet e-mail.
Get completely free e-mail from Juno at http://www.juno.com
Or call Juno at (800) 654-JUNO [654-5866]

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

4. Re: When it comes to GOTOs...

what i'm saying is, there might be some hurdles necessary to overcome in
order to achieve goto type statments--not only that, but I seem to remember
having line numbers fell in somewhere along "horrible, terrible"--perhaps a
"tag" as in html would be more appropriate.

snortboy

p.s.  what is your middle name?

Matt Z Nunyabidness wrote:

> no, they're actually good. Suppose you have this section of the program
> you want to do at certain times, but a procedure wouldn't do the trick.
> You use line numbers.
>
> -------------------------------------
> When it comes to programming languages, Euphoria is a cut above -
> matt1278 at juno.com and matt1421 at juno.com(and soon to be
> irisnmatt at prodigy.net. Then again, maybe not) Euphoria programmer
>
> ___________________________________________________________________
> You don't need to buy Internet access to use free Internet e-mail.
> Get completely free e-mail from Juno at http://www.juno.com
> Or call Juno at (800) 654-JUNO [654-5866]
>

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

5. Re: When it comes to GOTOs...

>what i'm saying is, there might be some hurdles necessary to overcome in
>order to achieve goto type statments--not only that, but I seem to remember
>having line numbers fell in somewhere along "horrible, terrible"--perhaps a
>"tag" as in html would be more appropriate.


Goto is hack.
Its ugly. It is a shame we have a need for them at times. Reconcider your
algorithm.
However structured goto's might give us a bit more freedom to structure an
algorithm more in the way we see it, then how it fits the interpreter.

And no, interpreters love gotos. Internally Euphoria makes it one big-goto.
All built-in expressors, statements and routines are replaced with a 32-bit
memory pointer of the machine code to handle that action, followed up by
pointers pointing to the variables or values that need to be used. And
eventually, a pointer where to store the variable. And next comes the
pointer of the next command, which is 'JMP' (jumped) to by the last command.
In other words, there's one big stack, and Ex.exe is jumping around on it.
Goto's are pretty natural internally thus, however they are not the tools to
use in algorithms. That would be bad style. A hack.

Ralf

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

6. Re: When it comes to GOTOs...

You do not need GOTOS to write a program. You can do the same thing if you
use procedures and functions properly, tied into a mainline logic.

GOTOs are actually more trouble then they're worth, as they tempt
programmers to write in an unstructured format, referred to in my profession
as "spaghetti code"....RDS got it right when they said GOTOS were like
pointers....I personally would not want to see them impimented in the
programming language.

David Gay
http://www.geocities.com/SiliconValley/Vista/4346
A Beginner's Guide To Euphoria

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

7. Re: When it comes to GOTOs...

Among the many, many, many, many things that M. "Nunyabidness" has felt
compelled to share with us is the fact that he/she can't code without a GOTO
statement.

I have no doubt that M. "Nunyabidness", in the few moments when he/she isn't
posting his/her pithy knowlege to this group - the extreme brevity made up
for by both the frequency of the posts, and the length of his/her
signature - he/she has fully explored the concept of Structured Programming,
and found it to be Totally Without Merit.

I am sure that RDS will, with all due haste,  fix this Terrible Deficiency
in Euphoria, especially since it was *demanded* using not just one or two,
but *three* exclamation marks. It's a good thing RDS didn't resort to making
him/her use UPPER CASE.

-- David Cuny

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

8. Re: When it comes to GOTOs...

*All* taboos are essentially stupid.

A GOTO is a taboo. It is a favorite programming bogey of the
structured programming merchants who also failed, so miserably, to
deliver on almost all of their early promises.

I am not advocating introduction of a goto statement in Euphoria. But
to dismiss it out of hand as the cause of all evil is a religious
zealotry of the unthinking kind.

In twenty years of pascal programming I used a goto not more than four
or five times, but each time it saved my life, so to speak.

Sure, you can even find a theoretical proof that a goto is always
replaceable by some other construct or constructs in any reasonably
modern structured language, but very often it is still the most direct
and by far the *clearest* way to indicate what you want. jiri

ps David, I think you wasting your time, irony is obviously not in
Matt's limited vocabulary.

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

9. Re: When it comes to GOTOs...

My middle name stands for Ze-crown-prince-of-mulgravia-in-exile. Excuse
my Growing Pains like language blink

-------------------------------------
When it comes to programming languages, Euphoria is a cut above -
matt1278 at juno.com and matt1421 at juno.com(and soon to be
irisnmatt at prodigy.net. Then again, maybe not) Euphoria programmer

___________________________________________________________________
You don't need to buy Internet access to use free Internet e-mail.
Get completely free e-mail from Juno at http://www.juno.com
Or call Juno at (800) 654-JUNO [654-5866]

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

10. Re: When it comes to GOTOs...

hey, if RDS adds a GOTO statement to Euphoria, what does that have to do
with you? If you don't need or want it, then just leave it alone.

-------------------------------------
When it comes to programming languages, Euphoria is a cut above -
matt1278 at juno.com and matt1421 at juno.com(and soon to be
irisnmatt at prodigy.net. Then again, maybe not) Euphoria programmer

___________________________________________________________________
You don't need to buy Internet access to use free Internet e-mail.
Get completely free e-mail from Juno at http://www.juno.com
Or call Juno at (800) 654-JUNO [654-5866]

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

11. Re: When it comes to GOTOs...

I'm a HE. A HE. AAAAAAAAAAAAAAAA HHHHHHHHHHHHHHHHHHHEEEEEEEEEEEE. See my
first name??? Huh? HUh? HUH??? Well, that's yer first clue. Use it.

-------------------------------------
When it comes to programming languages, Euphoria is a cut above -
matt1278 at juno.com and matt1421 at juno.com(and soon to be
irisnmatt at prodigy.net. Then again, maybe not) Euphoria programmer

___________________________________________________________________
You don't need to buy Internet access to use free Internet e-mail.
Get completely free e-mail from Juno at http://www.juno.com
Or call Juno at (800) 654-JUNO [654-5866]

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

12. Re: When it comes to GOTOs...

i can too code without GOTOs. Remember that password routine? No GOTOs.
Simple if/then/end if blocks and while/end while blocks(but in some cases
GOTOs are good).

-------------------------------------
When it comes to programming languages, Euphoria is a cut above -
matt1278 at juno.com and matt1421 at juno.com(and soon to be
irisnmatt at prodigy.net. Then again, maybe not) Euphoria programmer

___________________________________________________________________
You don't need to buy Internet access to use free Internet e-mail.
Get completely free e-mail from Juno at http://www.juno.com
Or call Juno at (800) 654-JUNO [654-5866]

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

13. Re: When it comes to GOTOs...

>no, they're actually good. Suppose you have this section of the
>program you want to do at certain times, but a procedure wouldn't do
>the trick. You use line numbers.


Well.... Sometimes you just need an example, because I can't think of any
time a lack of a GOTO can be any more than a slight inconvenience.

I used to think that GOTOs were needed, and that sometimes there was no
other clean way to get around it... How wrong I was! Before learning
Euphoria, and becoming proficiant in loops, I was using GOTOs like mad in
QBasic. I now look at my unstructured code and shudder. The use of GOTOs
were used everytime I added a new feature to a BBS Door type game
(Unregistered Alpha version, of course ;) Now, I'm having a lot of
trouble trying to untangle the code in order to add anything else, and
convert it to Euphoria.

As I slowly move the stuff to Euphoria, creating procedures and functions
instead of GOTOs, using if blocks (Also unknown to me for quite some time
with Qbasic) and while loops, and it is so much cleaner!

The point is, to me, a GOTO breaks the flow of the program, requiring you
to jump somewhere else in the code adrubtly, with all the chaos of trying
to figure out what variables you've already assigned, which ones aren't,
which ones need to be reassigned, trying to figure out what can jump to
it, wondering how to get back to where you were (oh no, another GOTO!).
They are like cancer, you get one, and you all of the sudden need more,
and pretty soon, your code is tangled worse than the cables behind your
computer . . .


___________________________________________________________________
You don't need to buy Internet access to use free Internet e-mail.
Get completely free e-mail from Juno at http://www.juno.com
Or call Juno at (800) 654-JUNO [654-5866]

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

14. Re: When it comes to GOTOs...

Matt Z Nunyabidness wrote:
>hey, if RDS adds a GOTO statement to Euphoria,
>what does that have to do with you?
everything.
Euphoria is created by RDS. SO? you ask?
RDS is *RAPID* Deployment Software.
See the RAPID there?
That is a two-fold moniker in my opine.
Not only does Euphoria allow you to create a
program in short order, but to paraphrase
Father Euphoria, succinctly, Euphoria is
    ****FAST****
Why is it fast? Because it doesn't have any
bloody GOTO's and other constructs that serve
to only clutter a language.
So, it has everything to do with me.  If requests
for additions to Euphoria are to be made, don't
you think you outta list *why* you want it?

Can a goto statement meet all of the following:

  Generally agreed upon by members of this list,
  as well as Father Euphoria, minimum requirements
  for consideration of a construct suggestion that
  the suggester desires to be included within the
  core of the Euphoria language:
    1> Does it make code more readable? ( +1)
    2> Does it make code less readable? (-10)
    3> Does it improve maintainability? ( +1)
    4> Does it hinder maintainability?  (-10)
    5> Does it improve performance?     ( +2)
    6> Does it hinder performance?      (-20)
    7> Does it improve portability?     ( +1)
    8> Does it hinder portability?      (heh, what portability?) ;)
    9> Will it actually be used???      ( +5)
   10> Does Rob want it in there?       (+50)
   11> Does Rob not want it in there?   (-99)
After adding your score, if you actually come out positive,
then ask the last questions:
    1>Does it *have* to be in the core, or can it be an include?
If that answer is yes, ignore 1-9, don't pester Rob cuz he's
busy with EU3, make a short post on the list as to where
your include can be found, or if it's a small (<10K) zipfile
then most won't mind simply directly posting it.

Let's score GOTO shall we? ;)
 1>   0 --doesn't help readability
 2> -10 --def'nly hurts readability
 3>   0 --doesn't help maintainability
 4> -10 --def'nly hurts maintainability
 5> 0.5 --in theory, at certain perfect moments, it can help speed
 6>  -5 --usually hurts performance, cache's get thrashed
 7>   0 --doesn't really help portability, we have routine_id
 8> N/A --doesn't hinder it either
 9> 0.1 --on a good day, less than 1% of the EU population will use it
10>   0 --he don't want it in there
11> -99 --oops!
------------
  -123.4 for the case for GOTO

To sum up:
GOTO can be made as an include! [ see dave? only 1 ! :) ]
(see routine_id and the listserv archives about the case
 statement and the algorithm used for that, it was slick)
So, please end this thread.

--Hawke'

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

Search



Quick Links

User menu

Not signed in.

Misc Menu