1) Actually pick up a functional language
This could mean Haskell Part 2 for me. Or F#?
I’ve just ‘completed’ a course in “Concepts of Programming Languages“.
By ‘completed’, I mean that I’ve earnt my (thankfully) pass mark by a thin thread. Since first year, I haven’t let go of this thin thread…
Knowing zero Haskell (or any functional language) going into the course made it frustrating to do the assignments. The assignments were all to be implemented in Haskell.
Moreover, the course itself was not focused on teaching the Haskell language, but more on the topics of Type Theory – I think I know what it is now. (FYI I’ve also been watching a couple of YouTube videos on Monads)
Now that I’ve started my internship, I can see that there is value in investing into the world of the functional paradigm.
Interestingly enough, a UNSW Computer Engineer graduate I met noted that learning Haskell was mandatory during his first year! Also – I was told that I could stop learning C# now (jokingly) 😛
Update: Learning Ruby looks a lot more fun and practical right now.
2) Write a Qt app
Having spent much time reading up on the Qt Framework, I would like to get started on writing a Qt program. You know, to see how hard it is. My intention is currently to port an existing open-source Qt widgets/C++ codebase to QML/C++.
I say to myself that there is a better way. But can I myself actually achieve that?
I’ve also been following snippets of development on the open-source Mixxx DJ software, which is quite complex.
3) Ruby (on Rails)
As previously blogged, Ruby has been on my todo list.
On a side note, some of my friends are down at NTE! nte.org.au