Re: Eu's poor design

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

On 16 Aug 2003 at 11:47, Andreas Rumpf wrote:

> 
> 
> Lets face it, at its current state, Euphoria is rather useless for 
> programming real applications, for several reasons:
> It lacks:
> - Call by reference (the most important feature I want to add!):
> Some say, it isn't needed in Eu, because you can simply return
> a sequence. Yes, that's true. But apart from being tedious to type,
> it makes the code much less efficient.
> example:
> seq[2][3][5] = func(seq[2][3][5]) -- this is just stupid
> 
I think passing arguments by value is simpler and sometimes less
surprising.
Bach takes a middle road -- variables are still passed by value, but classes
(structures) are passed by reference.  So you get lines like:

    sub_payment (cust.acct.balance,  pay.amount)

I can't really see how anyone puts up with not having this kind of thing!

> 
> - Block comments: While they are not essential, it is really dump
> to put "--" before any line if I just want to comment out some code for 
> a short period time. 
Block comments are not necessary!! while loops are purely superfluous!
and whats with 'exit' ?? a needless frill (and non-structured)
And don't get me started about '+=', '-='  etc.
   smile

My experience teaches me that block comments are very important.
They allow the programmer to enter comments which have a
different emphasis, allowing cleaner documentation (of little concern
to the Eu community, I admit smile )
An editor can colorize them differently to enhance the difference.
They tell the reader that a block of comments is what is intended,
as opposed to individual comments that just happen to be adjacent.

Documentation is the hardest part of programming. The more tools
to help the better.

Apart from that, line comments (though being very 
> useful!) are really inconsequent: If line endings are not important for 
> the Eu interpreter why are comments/include statements different? And 
> why use -- for line comments when # would do (#! is allowed in the first 
> line for linux compability anyway!)?
> By the way, the scanner should not be line-based for Euphoria (although 
> Rob probably did it this way - nobody knows why, it doesn't make much 
> sense), so block comments are NOT harder to scan than line comments!
> 
Adding block comments is extremely easy, line-orientation or no.
> But there are other drawbacks: 
> allocate() and free() ??? I thought Euphoria had a garbage collector!
> 
> If Euphoria is intended for programming newbies, why is Euphoria case 
> sensitive? (Why are so many languages case sensitive by the way? That 
> way I have to remember exactly how the identifier was being written!)
> 
Because "count" and "COUNT" are different symbols (They look different
don't they?)
> 
> This is really annoying because Euphoria is a great language full of 
> good ideas. I like it for small scripting tasks, but it is simply not 
> suited well for bigger programming tasks.
> 
I think of Bach as being for small to medium sized tasks, and it has
features designed to handle bigger tasks.

Karl Bochert

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

Search



Quick Links

User menu

Not signed in.

Misc Menu