My tuppence worth is the wonderful conciseness of programs, the way abstraction works, it almost forces you into creating simple very testable functions. These functions will have a well defined uncomplicated transformation, and as such may be re-used to build more complex functions. As a beginner, the templtation is to resist the temptation to implemrnt imperative code, but to link functions together in my thinking like a shell script. With a shell script programs are stated left to right with the output of the leftmost being fed into the next one to the right. I think with Haskell on a similar pattern with a pipeline of functions feed from the right-most one. The next thing is to learn associativity rules and the use of parenthesis, and $ operators.
Read everything on www.haskell.org.
Confuse yourself by trying to read Prelude source code!
--
Andrew Edinburgh,Scotland
Tim Perry <perry2of5@yahoo.com> writes:
> If you do jump in, I'd recommend the Real World Haskell book or the The Haskell
> School of Expression book.
Another interesting title is _Programming in Haskell,_ by Graham Hutton
(see http://www.cs.nott.ac.uk/~gmh/book.html). Duncan Coutts has
written a review on the title (see
http://www.cs.nott.ac.uk/~gmh/book-review.pdf).
As for motivation for learning Haskell, one motivator is the purely
functional nature of the language, which is referentially transparent
and therefore facilitates reasoning about programs. Haskell has roots
in category theory, and therefore, it is frequently possible to use
category-theoretical reasoning to reason about the correctness of
programs; this cannot be said of most other programming languages.
-- Benjamin L. Russell
>
> Good luck,
> Tim
>
>
>
>
>
> ----- Original Message ----
> From: Lorenzo Isella <lorenzo.isella@gmail.com>
> To: beginners@haskell.org
> Sent: Fri, September 3, 2010 3:57:26 PM
> Subject: [Haskell-beginners] Motivation to Learn Haskell
>
> Dear All,
> It is my first post to this list and please do not take it as an attempt to
> start any flamewar.
>>From time to time, I try to find the motivation to learn at least the
> fundamentals of another programming language.
> I normally use R and Python on a daily basis (but I am not that much into OO
> programming) and have a good knowledge of Fortran and a rather superficial one
> of C.
> Beside learning a new language as a sort of mind expanding exercise, I try to
> figure out how and if it can save me some time in my work and how it measures up
> against other languages.
> These days I tend to rely on R for data analysis and visualization whereas I use
> Python (in particular Numpy+SciPy) for number crunching (it is very convenient
> to use scipy/numpy to solve ODE's, manipulate arrays and so on).
> Now, I wonder what benefit I would gain from learning Haskell since I mainly
> write codes for numerical simulations/data analysis.
> I know Haskell is gaining momentum e.g. in the financial environment (I happened
> to see Haskell knowledge as a specification in some quant jobs) hence it must be
> more than suitable for numerical work and, by the little I have understood so
> far, it allows one to write code really resembling mathematical expressions (I
> was impressed by guards and curried functions).
> However, it also looks to me (correct me if I am mistaken) that Haskell is a far
> cry from the wealth of standard and contributed scientific modules you have in
> Python or R and thanks to which you do not re-implement the wheel yourself.
> Any thoughts/suggestions are really appreciated.
> Cheers
>
> Lorenzo
> _______________________________________________
> Beginners mailing list
> Beginners@haskell.org
> http://www.haskell.org/mailman/listinfo/beginners
>
--
Benjamin L. Russell / DekuDekuplex at Yahoo dot com
http://dekudekuplex.wordpress.com/
Translator/Interpreter / Mobile: +011 81 80-3603-6725
"Furuike ya, kawazu tobikomu mizu no oto." -- Matsuo Basho^
_______________________________________________
Beginners mailing list
Beginners@haskell.org
http://www.haskell.org/mailman/listinfo/beginners