

Haskell is "lazy", which means that it will compute it's values only when absolutely necessary. Lazily evaluated - In Haskell, defining a value doesn't actually mean it will be created in memory. All it's data structures are immutable by default and it supports many functional programming patterns out of the box, most notably currying. If you like functional programming, you will feel at home while learning Haskell. It's actually kind of a difficult thing to do, because Haskell has multitude of characteristics that make it different from your typical programming language.įunctional and immutable - this is probably the least alien thing for a modern developer.

Now, before we really begin, I should probably explain at least in few sentences what Haskell is and what makes it so different. In this article I will try to describe those benefits, so that you can be sure that time invested in learning Haskell will be well worth it.

But I do believe that there are actual, very practical benefits of learning that language. For practical purposes I believe it is still a bit to alien and restrictive. I don't believe that after learning Haskell you will want to use it in your daily work. Especially if he/she wants to seriously get into functional programming (but as we will see, object-oriented programmers will also gain a lot from learning that language!). That's why I believe learning Haskell should be a top priority for a programmer who wants to push himself and gain new knowledge and expertise. The thing is, most of the popular languages nowadays really differ only in details, like some syntax or special features, but not in the general approach. This effect however diminishes if you learn only programming languages that closely resemble the language you already know well. But I do agree that learning a new language can bring a tremendous benefits to your programming knowledge and style.
HASKELL 2021 CODE
I don't necessarily agree with that (after all, there are more important things to do in life than just code all the time). I have read once that a "real" programmer should learn at least one new language every year.
