|
|
Line 1: |
Line 1: |
− | [[Category:Rants and comments]]
| |
− | == Introduction ==
| |
| | | |
− | Hello there. I am another Haskell beginner. I am writting this page to tell my experience with Haskell so far, inspired by the article [[From a newbie]].
| |
− |
| |
− | == First impressions of Haskell ==
| |
− |
| |
− | My first language was PHP, then C, then C++ and some ruby/python scattered sparsely. Then someone in the #c++ channel in Quakenet said something about Haskell and functional programming. He said there were 'no variables' or something of the sort, and how it had influenced and improved his C++ style. Since he was a pretty good programmer I decided to take a look. Ugh, what the f*ck is this? So it never went past taking a glance from the examples in wikipedia or haskell.org, learning by guessing and then giving up.
| |
− |
| |
− | Only 6 months after, out of sheer boredom I decided to resume my Haskell lessons. Naturally, I am enjoying it more than ever, since this 'feeling' that learning something \this\ new gives I had only found when learning C, or learning about OOP in ruby or C++.
| |
− |
| |
− | == Learning Haskell takes lots of time and practice ==
| |
− |
| |
− | Just like it took... what, 2 years? to learn C++ (and I still don't consider myself good at it), I think Haskell has a loooong learning curve. Specially if you come from an imperative background.
| |
− | :That is the problem. Imperative or OOP entrenches in your brain and repels other paradigms. Just learn Haskell earlier. --[[User:Beroal|Beroal]] 05:13, 20 January 2010 (UTC)
| |
− |
| |
− | == Learning Haskell made easy (easier) ==
| |
− |
| |
− | Short and sweet:
| |
− | * Print the haskell98 report - read.
| |
− | * #haskell on freenode - ask.
| |
− |
| |
− | == Haskell can be interpreted AND compiled? ==
| |
− |
| |
− | I have to admit this was one of the features about it that attracted me the most. So far I had dealt with either compiled languages (C, C++) or interpreted (Ruby, Python, PHP). This just looked awesome. And it is.
| |
− |
| |
− | == Haskell can be used to write real-world stuff ==
| |
− |
| |
− | Amazing, so it's not educational oriented only, but rather has a rather large standard library for interfacing with the real-world (WIN32 Api, OpenGl, Networking, etc). Sweet.
| |
− |
| |
− | == Elegant solutions here I come ==
| |
− | I'm not even sure if I like the code more than the resulting binaries sometimes. :)
| |
− |
| |
− | == Wtfux is a monad ==
| |
− | I think I'm getting it...amazing. Start by understanding IO. Then realize what a monad IS. Then make your own monads. Oh my gosh.
| |