Tuesday, August 5, 2014

Entering The World of Haskell

There's this thing that baffles me when it comes to picking a new language. I was supposed to learn C++ but honestly I don't have any drive to learn it at all. I don't have any use for it and while I want to contribute to projects I just don't see many open source projects taking pull requests from a starter like me. 

This are my reasons right now of why I don't feel like learning C++:

- There's nothing interesting about it... fine, not a good reason if I do say so myself, but it's an impact to my motivation
- I have no use for it. If I can't do it in Python, chances are that I'll be doing it in Java. Weird, I've chosen those two languages as my go to ones when dealing with clients, etc. Worst case scenario is that I'll be using PHP.
- I want to contribute to an open source project, yet I feel like they'll reject my contributions. C++ is widely used for many things: traditional applications, games, servers, system programming, etc, etc. 
- I'm interested in system programming but I don't know where to find the right direction. (materials, books, etc)
- Motivation plays a big factor when learning a language. 
- I find C++ to be a bit nuts...

What motivated me to learn Haskell?

It's the first functional programming language I take on. I've been reading Learn You A Haskell for Good and so far I've been pretty impressed by it. Especially the list comprehension part, it blew my mind the many things you could do with it in terms of filtering, or well, adding multiple predicates. 

This is from the bottom of my heart: I find Haskell to be fun. Yea, if you are one of those programmers that facepalm at the thought that "programming is fun" then this post isn't exactly for you. However, I do agree that the whole bullshit "code is poetry" or "code is art" needs to go. 

And you know, fun is good. Would I use Haskell for real projects? Yea, I would. I actually find it to be really solid at what it does. 

My motivation stems from curiosity and wanting to see what it can provide. It being a functional programming language is also a big plus in terms that you get to get away from the C-like languages, or well, imperative languages.

No comments:

Post a Comment