[Haskell] Newbie: what are the advantages of Haskell?
Robert Daniel Emerson
Robert.Emerson at net-tribe.com
Sat Apr 28 07:46:36 EDT 2007
Dear Phiroc,
I am also a newbie to Haskell, but I also must confess having a sort of
religious conversion. I also admit that the learning curve for Haskell, and
in particular associated theory is steep, and I am only on the fist rung of
the ladder. Some of what I say here has been echoed by others in answer to
your query on the utility of Haskell.
I think most would agree that a language, be it natural or artificial,
constrains or enhances they way you think, and perhaps even what you can
think, and what you can create. Historically many technical problems remained
intractable until the invention of the right language, the language of
classical algebra, or the differential calculus I think are good common
examples. Who would argue that Italian is a great language for operas?
I find even at the elementary level, many common algorithms seem to me
naturally obvious when expressed in Haskell. Other have also pointed out that
the category theory constructs that allow Haskell to remain a purely
functional language, allow you to bring in 'the heavy guns' of standard
mathematical reasoning. With out discussing what proof is really all about,
it very powerful if that concept can be imported into the art of programming.
I also think that the relationship between parallel computing and functional
languages will become very important in to following decades as we hit
'Moore's wall'.
Now for my real truth, it is just down right great fun, hacking at its best.
If asked for a one line description on what Haskell is I would say that it is
'Lisp on steroids'. Paul Graham has plenty to say about the utility and
elegance of Lisp, I would like to know what he thinks of Haskell. I am going
to paraphrase Graham: 'If a lot of really smart people are using something,
and you can't see why, maybe its worth your time to see if you can see what
they see'. Just to give you an idea of where I am coming from I started out
putting food on the table in the 70's writing PDP 11 assembler programmes.
Suppose you don't even use Haskell in a project directly, maybe you develop
your programme 'conceptually' in Haskell, and write it in whatever makes
practical sense in your environment and market. You may end up with an
artfully designed set of code, that is easier to maintain, with clear
abstraction barriers.
In assaulting the learning curve I have found that I am building up a
collection of texts, papers, blog postings, etc. If I don't understand one
source, maybe another will give me some insight. I will just mention one of
the many reference that I have found useful: 'Functional Programming -
Practice and Theory' By Bruce J. MacLennan (ISBN 0-201-13744-5). Oh, and of
course the classic, 'Structure and Interpretation of Computer Programs' by
Ableson and Sussman. Neither is an 'Hakell' book, but I have found them
hyper-useful for practical foundational material.
I would be interested to know what materials you are using to learn Haskell,
and am glad to see that I am not the only 'newbie' :-)
Best Regards,
Robert Emerson
P.S. I didn't even mention Domain Specific Embedded Languages! Big time
advantage.
On Friday 27 April 2007 01:02, phiroc at free.fr wrote:
> If this is interesting then please enlighten a poor, ignorant PERL hacker.
>
> Quoting Johannes Waldmann <waldmann at imn.htwk-leipzig.de>:
> > phiroc at free.fr wrote:
> > > [...] semi-functional programming languages such as Perl [...]
> >
> > now this is an interesting view ...
>
> _______________________________________________
> Haskell mailing list
> Haskell at haskell.org
> http://www.haskell.org/mailman/listinfo/haskell
More information about the Haskell
mailing list