Re: OT: Language Design

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

Pete Lomax wrote:
> 

  http://www.paulgraham.com/popular.html

[snip]

> 
> Derek, I don't understand why on earth you regurgitated this trash; it
> goes against everything you have previously said.

I respectfully disagree with this opinion of yours. It may be that I have
simply not made myself clear in the past. I apologize if that is the case.
Can you point me to where I may have implied differently and I'll try
to clarify things, if possible.

> Flexibility is one thing, no protection whatsoever is another.

In which sentence(s) did I advocate "no protection whatsoever"?

My understanding of what Mr. Graham was saying is that a certain class of 
programmers (real experts, which he calls 'hackers' and not crackers) need
tools which allow them to achieve their goals without unnecessary
encumburances. And that, when language designers are creating a 
programming language, they need to be aware of who is their target
audience for the language.

A language with training-wheels (such as LOGO) is suitable for some
purposes that languages that run close to the metal (such as C) are 
not suitable for, and visa versa. 

My take on a language like Euphoria is that it has moved a bit too much
to the protectionist, camp-mother philosophy, and that some minor
releasing of potential for **experts** would be a good idea. 

For example, Euphoria does remove the need for memory pointers, but still
allows their usage for those coders that really want them.

Euphoria already supports a subset of controlled goto idioms : 'call', 
'while', 'for', 'return', and 'exit', yet hasn't implemented other 
controlled goto idioms ('next', 'try-catch', and 'retry'). 

As for uncontrolled goto, I think that if somebody is good enough to use
them, then let them. I know I'm not good enough, so I would never use 
them in Euphoria. Why should my skill level or philosophical outlook
be justification for restricting the abilites of other coders?

Mr. Graham did say "How can the language designer know what 
the programmer is going to need to do?" While this is a true statement,
it is not implying that every language should enable a coder to do
anything. Instead, the language designer would do well to state their
goals for the language and what restrictions are in place, and why.

I believe that for the most part, RDS has done this with Euphoria. Both
RDS and Euphoria is evolving into better entities and I'm truely looking
forward to version 2.5, 2.6, 2.7, ...

-- 
Derek Parnell
Melbourne, Australia

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

Search



Quick Links

User menu

Not signed in.

Misc Menu