Ask HN: Did you learn a language this year?

16 points by llambda ↗ HN
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 ] thread
I learnt Ruby this year, because I read Why's Poignant Guide to Ruby and it made me really excited about it's simplicity and readability. I used it to build Hackerbuddy.com.
I learnt python. It's awesome.
Wouldn't consider it a new language, but after all the back-and-forth articles on HN about CoffeeScript, this year I really spent some time learning the fundamentals of it.

Mostly though, I just drastically extended my capability with the languages I already know.

I've learned JS, after being very reluctant to it for a long while, and I gladly found out it's actually a very interesting and missunderstood language!
I started with OOP and C++
C++, matlab and (erk!) actionscript 3
haskell! cannot say i master it, but i build a little something (https://github.com/cies/thehall), and certainly experienced the beauty of it. it was quite a painful experience coming from the OO continent, but then: no pain, no gain -- right?
No. I did some serious work on jQuery, but that's a library rather than a language; and in the process also revised JavaScript.
I learned Javascript, Coffeescript and did some cool stuff with that, and have studied German and Japanese a bit.

But I have studied language itself more than a specific language.

Not really.. I was comfortable with javascript/php :)
I'm in the process of learning Python. I don't know the internals as deeply as I'd like, but I've used it superficially pretty effectively. It has pretty much replaced Perl for me, but there's still some things about it that annoy me. However it's easy to use, and I'm happy I started the ball rolling on it.
I am relearning PHP for a job, and additionally have fiddled around some with haXe.
C++ and (unrelated project) starting to play with ruby and rails...
Nothing really much for me.. Improved my Javascript by writing Chrome Extensions, but I do want to learn Node.js and MongoDB.
I learned Prolog and logic and constraint programming in general. Not only did I learn the Prolog language and some of it's dialects for constraint programming and fuzzy logic as a part of a logic programming course, I also wrote an interpreter for a Prolog-like programming language in Haskell as a part of an AI course.

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.

I played with Haskell, to the point of being able to read and understand larger chunks of Haskell code - but I haven't written anything of note in it yet. Not sure I ever will, either. I started playing with it due to git-annex (which was written in Haskell, and that triggered the interest) and the LYAH book (which is beyond awesome, by the way). Coming from an OO/imperative background, functional programming seemed interesting, and even though I didn't end up using Haskell, the tricks and ideas I borrowed did have a huge impact on me.

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.

I learned Verilog at my summer job, and discovered that FPGAs are freaking awesome. (I also learned Perl and Python there, neither of which are awesome. Abandon hope all ye who enter the NetFPGA toolchain!)
Nope. Far too busy building out our product.
This year:

- 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.

Common Lisp, although I started learning it last year. I don't know if it counts, but I learned SQL and I’m currently studying relational theory in more depth. I also had to take a course on Prolog, but I'd be bullshiting you all if I said I knew prolog, I know enough of it to write factorial and reverse lists.
went from PHP to a bit of Ruby and extended my skills in JavaScript land with learning CoffeeScript