As can be seen on my bucket list I’ve got quite a few programming languages I want and need to learn this year. Some pure out of interest. Some because I have to.
Lua
First on the list is Lua. A nice lightweight programming language that’s perfect for embedding in other software applications to provide scripting functionality. In the last 2 years I’ve only touched the surface of the language so far. I upgraded the pub.lua BlitzMax module to use Lua 5.1.4 and so far have experimented with scripting some game prototypes. As well as some pure Lua stuff such as an IRC bot and a website scraper.
I also own a copy and have read the book Programming in Lua as well. But I still need to do some proper coding with this amazing language before I consider that I’ve mastered Lua.
C#
Not that I aspire a career as a .NET programmer but Visual C# is probably the easiest way to program visual Windows desktop applications. Aside from that it’s quite big in the industry. It certainly is in the Netherlands. The XNA framework also makes it very interesting to have a go with it as I still want to do some game programming. And although I mainly got BlitzMax for that it’s a good thing to try something else as well.
The language also has some interesting features such as LINQ. I also consider it a proper language now that is has support for lambda’s. Finally it’s a language I have to learn for future needs and to get a head start on something big for me. Which is something I’ll announce soon on my blog.
Haskell
Third on the list but first to learn is Haskell. Haskell is an advanced purely-functional programming language and that’s exactly what I want to learn: a purely-functional programming language. In the years I’ve been on and off reading Perlmonks I keep coming across the advice to learn a functional programming language. Aside from Perlmonks this also seems to come up quite often in replies on StackOverflow. The people telling it’s a good thing to learn a functional programming language say it helps you in how you think about problems and solving them. Even if you never intend to use the language ever again. This is advice coming from programmers that are in the business for over 15-20+ years so I suppose it should hold some value.
The reason they give is exactly the reason I want to learn Haskell. Even if I never use it again after learning the language and have written some projects.
Java
I hate Java. I really really really hate Java. It’s an abomination. I have never ever stumbled upon a Java application that isn’t slow as a turd. It’s a language I must learn as well though, for the same reason I need to learn C#. Difference with C# is that I think the language is at least a bit fun and I want to learn it. What makes me wonder the most though is why I need to learn Java as to me C# can do everything Java can as well, only faster. And with better tools.
Have you ever tried Eclipse? It makes me want to kill myself. Never ever shall I touch that dragon again.
I guess I’ll get that answer by the end of 2011.