[email protected]
[Top] [All Lists]

Re: [Haskell-cafe] Language simplicity

Subject: Re: [Haskell-cafe] Language simplicity
From: jur
Date: Thu, 14 Jan 2010 21:06:22 +0100
On Jan 14, 2010, at 8:38 PM, Andrew Coppin wrote:

Martijn van Steenbergen wrote:
Niklas Broberg wrote:
21 actually. case, class, data, default, deriving, do, else, if,
import, in, infix, infixl, infixr, instance, let, module, newtype, of, then, type, where. There's also three special words that can still be
used as identifiers, so aren't reserved: as, qualified, hiding.
Since you can define operators in Haskell, would it make sense to
include '=', '--', ':', ',' etc. as "reserved names" since those
can't be used as operator names?
Makes sense to me...

It's merely more difficult to catelogue this information for a half- dozen different languages. Looking up the reserved word list is usually only a Google search away.
Somebody suggested to me that the best metric for "how difficult" a
language is to learn is "the number of orthogonal concepts you need
to learn". Of course, measuring THAT is going to be no picknick!
I do not think so. More orthogonal concepts may make it more work to
learn the language, but I think
orthogonality helps to learn a language that has many concepts.

For me, a major problem when learning a language is ad-hocness.
The Java Language Specification part on Generics (parametric polymorphism) comes to mind. It is full of ad-hoc restrictions, and operational details. Haskell's polymorphism behaves much
more predictably because it is much less ad-hoc.

Although I do not have any Python programming experience, I got the impression that Python is very un-ad-hoc. Everything behaves in exactly the same way at all possible levels in the language. You need to master only one idea and it applies everywhere.
Even if the way it behaves is strange.

Jurriaan


_______________________________________________
Haskell-Cafe mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/haskell-cafe

<Prev in Thread] Current Thread [Next in Thread>