EUPHORIA's New Name...

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

Maybe Rob would like some suggestions about language names...?

I think we should get all the suggestions from the users and then vote on it.

Someone can set up a voting booth OR we can simply discuss it here on the list.

It's also time for a dedicated domain name for EUPH- I mean, the language we all
know and love... I'd be willing to donate time in developing the site, although
I'm sure the Craig's have fun doing it themselves... blink

"Boehme, Gabriel" wrote:

> "Cuny, David" <David.Cuny at DSS.CA.GOV> wrote:
>
> >My 2 cents on what I think make Euphoria difficult to "sell":
> >
> >[The Name "Euphoria"]
> >
> >"Euphoria" is a name that makes people giggle. I've put together a number
> of
> >small programs in Euphoria at work; when people ask what they are coded in,
> >the answer is now a "non-standard language". I don't expect the name to
> >change (there's too much invested in it at this point), but it *is* as
> >issue.
>
> After I discovered Euphoria -- and once I finally understood the nature of
> sequences -- I breathlessly described to friends and family alike all the
> wonderful features of this "revolutionary programming language" I'd
> discovered. They all listened seriously at first, and seemed impressed with
> the ideas of sequences, run-time checking, and the other excellent features.
> But the moment I told them the actual name of this "revolutionary
> programming language", the unanimous response was laughter -- either
> outright, or stifled. At first I didn't realize it, but I've come to realize
> just how much the name prevents people from taking the language seriously. I
> personally think it's an awesome name, but Dave's right -- it *is* an issue.
>
> Also, there's another issue somewhat related to this that just struck me.
> Let's say that someone out there *is* thinking seriously about backing
> Euphoria, despite the name. They've heard some of the details about it from
> programmers, and they want to check it out. So they go to the official
> Euphoria programming page -- and are greeted with *garish* colors, and the
> following welcome message:
>
> "This page provides the latest info on Euphoria - a nifty new programming
> language for your PC. Euphoria is fast, flexible and fun; simple, safe, and
> sexy!"
>
> This doesn't exactly encourage anyone to take the language seriously.
>
> <snip>
> >[Forward References]
> >
> >People coming from other languages are used to using forward references -
> >but it's *painful* to do in Euphoria, and there is the overhead of having
> to
> >create a sequence to hold the arguments:
> >
> >        -- create a holder for the forward reference
> >        integer foo_id
> >
> >        -- define a prototype for the function
> >        function foo( integer x, integer y )
> >                call_func( foo_id, {x, y} )
> >        end function
> >
> >        -- define the "real" function
> >        function forward_foo( integer x, integer y )
> >                -- code goes here
> >        end function
> >
> >        -- resolve the reference
> >        foo_id = routine_id("forward_foo")
> >
> >That's a lot of work that could *easily* be done by the interpreter - just
> >allow the prototypes:
> >
> >        -- qbasic syntax, perhaps "forward" is a better keyword
> >        declare function foo( integer, integer )
> >
> >that are resolved later:
> >
> >        -- define the "real" function:
> >        function foo( integer x, integer y )
> >                -- code goes here
> >        end function
> >
> >Since the interpreter knows what the proc looks like, it could resolve the
> >call *efficiently*, instead with all the overhead of  the current method.
>
> I must disagree here. When I was first learning Euphoria, I was impressed
> with how it "forced" you to structure your program routines. When searching
> for a function or procedure, you *always* knew you could find its definition
> *before* any place where it was used. The old QuickBasic "declare" syntax
> would seem like a step backwards to me, either requiring the programmer to
> write the declares themselves (which I would *hate* to do), or requiring
> some utility to automatically scan the source code and create the "declare"
> statements at the top or the source code. Either way, the beginning of our
> Euphoria source code would be cluttered with all these "declare" statements!
>
> I suppose we could just have the interpreter make *two* passes through the
> source code -- once to get all the routine declarations, then its usual pass
>  -- thereby avoiding the need for any "declare" statements at all. But then
> it shoots down the whole beauty of Euphoria's initial design, requiring only
> *one* pass through the source.
>
> I was somewhat upset with the introduction of routine_id() at first, but
> obviously this was a necessity for programming in a Windows environment. My
> feeling is that the current way routines are defined in Euphoria is the best
> way, forcing you to organize your code logically. The "pain" involved in
> creating "forward references" in Euphoria should probably be considered a
> deterrent -- use them only if you really, *really* need to.
>
> I suppose programmers coming in from other languages will complain about how
> Euphoria "forces" you to do this. Actually, Euphoria forces you to do a lot
> of things -- initialize your variables, use valid subscripts, pass valid
> parameters and so on -- which *greatly* helps reduce the number of dumb
> errors in a program. If programmers want the "freedom" to deal with
> uninitialized variables, invalid subscripts, invalid parameters and so
> forth, there are already many other programming languages available to meet
> those needs.
>
> >[Namespace]
> >
> >I think there is general agreement, especially by those who have tried
> using
> >multiple libraries. The problem even occurs with using named indexes in
> >sequences:
> >
> >        window[POSITION]
> >        political[POSITION]
> >
> >This whole namespace problem seems to beg for implementing classes. After
> >all, we're trying to use the same names to accomplish different results -
> >the very definition polymorphism.
> >
> >Obviously, there is no trivial fix for this. I had investigated putting
> >together a pre-processor for structures some time back, but dropped it when
> >it became apparent that because of their recursive nature, it would be
> >impossible to resolve structures until run time.
>
> I agree totally and wholeheartedly with both points made here. Namespace
> issues are a major headache for any Euphoria programmer. The whole reverse()
> fiasco -- involving Euphoria 2.1 alpha and old versions of Win32Lib -- is
> only the most recent example of this. I think we should be allowed to
> redefine *any* routine, not just the built-in ones -- the interpreter can
> generate warning messages for this, very much like the existing warnings for
> the redefinition of built-ins.
>
> And I obviously agree with Dave's remarks about structures. I won't go into
> this again, since I believe I've already made my views on this point clear.
> (Do I hear strains of the "Hallelujah Chorus"?) :)
>
> Gabriel Boehme

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

Search



Quick Links

User menu

Not signed in.

Misc Menu