Wednesday, June 11, 2008

Learning new langauges

Well, I've finally decided to learn a new language. Two actually. D and Haskell. Here's the way I figure it. I already know a good scripting language: Perl. While Lua interests me because of it's embeddable nature, I couldn't see anything I would use it for personally. Perl has many more useful libraries. Also, since I know Perl, I don't see the need to learn Python, Ruby, or any other scripting language because I don't see any reason to do so. They don't provide anything that I can't already to in Perl and if I did have to work with any of them, I'm pretty sure I can pick up a reference, look at a few tutorials, and work through any code I need to.

Now, why D? Easy: I wanted to learn a C-like language and D looked the best to me because it doesn't make me have to deal with character strings. What I mean is, I don't have to allocate/deallocate/check buffer lengths, etc. Having a native string type is very nice to me. Also, it has a variety of nice features that look pretty good and it looks to be well designed. Not perfect, but good. Also, since it can work with C libraries, I can resuse a lot of existing code. The only thing I lose compared to C is a little performance, but I think it's worth it at least for the added safety of the language.

Now, why Haskell? Simple: I feel the need to learn a functional programming language. After looking at it a bit more, it seems to have a nich between D and Perl in terms of performance and programmability. If I need speed, I can use D. If I need to come up with a quick script, I can use Perl. If I need to write a good app, I can turn to Haskell for something that's faster than Perl, but potentially, I'm not sure yet, safer than D and hopefully easier to code in. Also, I think that learning how to program in a functional language would be good for me.

Anyway, now the big problem is time :-)

Labels: , , , , , ,


Post a Comment

Links to this post:

Create a Link

<< Home