Friday, June 1, 2012

Introduction to Haskell


What is Haskell?

In short Haskell is yet another computer programming language. Haskell is named after Haskell Brooks Curry, a mathematician whose work is a foundation for all functional programming languages. Haskell is a polymorphically statically typed, lazy, purely functional language, way different from other biggies of current programming languages.

What is Functional Languages?

Haskell is a functional language. Functional programming is a programming paradigm that treats computation as the evaluation of mathematical functions and avoids state and mutable data. It emphasizes the application of functions, in contrast to the imperative programming style, which emphasizes changes in state.

Why to Learn Haskell? 

Haskell is very different language then currently popular languages like Java, C#, PHP, JavaScript or C++. And switch is very smooth in between these. In my internship I started working on C++ and there only I switched to Java without any learning or training and it was very smooth transition as Java is very close to C++ and easy compared to C++.

When I started with Haskell it was quite hard for me to grasp its fundamentals i.e. statically typed, laziness and compile time binding of type to variables.
Learning Haskell is a wonderful and very different experience for me. It was like going back to school. Learning new things daily, failing daily and then moving ahead with added experience. And it was fun again to do basic programming.

  • Haskell provides shorter cleaner and maintainable code.
  • Code written in Haskell is way less buggy then code written in imperative languages i.e. Java/C# etc.
  • Haskell is more productive as you can do lot of work with smaller amount of code.

What you need to Learn Haskell?

You need lot patience and open mind to learn Haskell. Don’t expect a easy ride. Expect a joy ride full of thrill.
If you have above qualities then your machine will require a Haskell Compiler so you can try your hands on Haskell.

You can download GHC compiler from here

Or you can install Haskell Platform which is GHC with Batteries from here
Haskell Platform contains GHC compiler plus other utilities
GHCi, RunHaskell, HTTP, CGI and many more

Where to learn Haskell?

TryHaskell.org:: Consist a interactive tutorial to get started with Haskell.
http://learnyouahaskell.com:: A guide for beginners.
http://book.realworldhaskell.org :: A more detailed Haskell book to learn real programming in Haskell with real examples.


Many companies are using Haskell in real projects, few of them are

ABN AMRO Amsterdam, The Netherlands
Aetion Technologies LLC Columbus, Ohio
Amgen Thousand Oaks, California
Ansemond LLC
AT&T
Bank of America Merril Lynch
Barclays Capital Quantitative Analytics Group
Credit Suisse Global Modelling and Analytics Group London, UK; New York City
Deutsche Bank Equity Proprietary Trading, Directional Credit Trading
Google

No comments:

Post a Comment