Ask HN: Did you learn a language this year?
I thought about doing a poll, but I think it'd be more interesting to see what people learned and why (or perhaps not learned and why). This year I can't say I've "learned" a language although I have dabbled in Erlang, Clojure, and Haskell.
41 comments
[ 2.8 ms ] story [ 91.6 ms ] threadMostly though, I just drastically extended my capability with the languages I already know.
But I have studied language itself more than a specific language.
Prolog and Logic programming in general are really worth learning. They will definitely widen your horizons when it comes to programming. Implementing a logic programming system will also teach some basic pattern matching and unification algorithms and applying them.
The other language I played a lot with, and ended up using a lot this year is Clojure. The main reason I started learning it is because its not only a LISP, it's a mostly functional, yet, practical language, whose concurrency and paralellism support is unparalelled. Being a JVM language, with great interoperability with Java also means that I can use existing Java libraries. All in all, it had great properties, and a syntax I was already somewhat familiar with (being an Emacs user for the past 12 years or so did expose me to at least some lisp, after all!), so my next few projects, which will likely see the light of day in early 2012, will be written in Clojure.
I also learned a bit about sparc assembly, because I had to, and as much as I didn't want to, I learned to read PHP a little bit better than I used to. I'm not exactly proud of that, but nevertheless, that's what happened.
Resources:
http://www.pharocasts.com
http://www.usmug.org
- I wrote my first C++ app using Qt
- I tried getting into Django and RoR, coming from a PHP background. Unfortunately, I haven't yet had a chance to code anything worthwhile in either Python or Ruby.
My goals in 2012:
- Create a non-trivial Ruby or Python app. Still haven't chosen between the two. Ruby currently seems more popular but Python is used quite a bit in my company and for engineering applications in general.
- Program an HTML5/JS game, eventually using GameJS.
- Maybe learn Java for Android.