

Ask HN: Did you learn a language this year? - llambda

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

------
marklit
I learnt Python this year. I went from being a fulltime LAMP employee to
contracting in Python.

In May I started spending a few hours every night after the gym working on
Django apps, mostly re-building my blog and just fell in love with everything
Pythonic.

In August I started applying for Python contracts around London and one came
through in about three weeks. I've since managed to only be out of work eight
days since the beginning of September. I've done well enough to take six
months off and travel around Asia next year.

I'm really glad I did this as I was unhappy being an employee and LAMP coding
felt like I was untangling other people's piles of cables all the time.

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

------
bromagosa
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!

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

------
amjith
I learned Smalltalk (Pharo dialect). It was awesome. Took me two weeks to go
from zero to write a small rss reader in it.

Resources:

<http://www.pharocasts.com>

<http://www.usmug.org>

------
ajdecon
I don't know if I really learned a "new" language this year (i.e. one I had
never touched before), but I did spend a lot of time on improving my
understanding of some languages which were more important to me, and learning
some new frameworks and libraries.

In particular, I spent a lot of time digging into OpenMP and MPI programming
in Fortran and C, and getting a better understanding of SciPy and NumPy. (If
you hadn't guessed, I work in HPC. :-) ) I also worked on a couple of webapps
using Bottle (Python) and Dancer (Perl), which were new frameworks to me.

------
joshz
I've learned/am learning Python for about a year now mostly because I've
always worked with C type languages, except Pascal and (TI) Basic long time
ago, and wanted to try something different. It's so much fun to program with
it, I'm having some trouble wanting to use anything else.

I've also played with OCaml and R, not to the extent of actually understanding
them, and learned a fair (i guess) amount of Octave by doing ml-class
problems.

I think actually learning R may be on the table next due some dabbling in
machine learning.

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

------
dgudkov
I learned french ;)

------
S4M
I learned Clojure this year, but I don't think I have finished learning it. So
my plan for next year is to study on it until I am comfortable enough with it
(which would be: good enough to make some money from something built in
Clojure) -right now I am having a look at Seesaw to builf GUI's in Clojure, I
am quite impressed! Then I will go for some low-level C, and after that
Haskell probably.

I hope I'll remember in December 2012 to ask myself "well, how far did I get
in Clojure/C/Haskell?"

------
SatvikBeri
This year...I learned SAS Macro Programming to automate roughly twelve analyst
jobs (including my own), a whole bunch of SQL (for the new job that replaced
the automated one), some basic common lisp for fun (up to writing a Sudoku
solver in ~150 LoC), and have just started on Clojure (because I love lisp,
but want to be able to actually use it).

------
eccp
Coming from a Java and Grails background, I debuted as a Rails developer this
year and was very impressed by Ruby and the framework too. Also tried some
basic Clojure, solved most of the Clojure koans and solved 48 problems (so
far) on 4Clojure.com ... I'd love to learn more and build something with it on
2012.

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

------
mping
Learned Ruby/Rails, dived deeper onto JS but still a n00b. Next year will be
either Scala or Clojure.

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

------
niclupien
I learned Ruby. I've used Grails a lot on the past but it's to heavy for my
new projects. I decided to take a look at Sinatra and found out that Rails was
actually the perfect fits for my needs. I also learned Sass and Coffeescript.

------
goshakkk
I learned CoffeeScript (an node.js at all), played with Clojure and C (really,
I didn't know it at all) this year.

Gonna deepen my Clojure and C knowledge, play with D, play with Haskell,
Erlang and some Lua next year.

------
ec429
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!)

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

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

------
joshguthrie
I learned JavaScript, client-side (both jquery and native) and server-side
(node.js). I haven't touched any other language for about...two months.

------
kgutteridge
Dabbled in Lua, not had chance to play with many languages this year but
managed to get my head around lot of new mobile frameworks and tooling

------
atlantic
No. I did some serious work on jQuery, but that's a library rather than a
language; and in the process also revised JavaScript.

------
joshmanders
Nothing really much for me.. Improved my Javascript by writing Chrome
Extensions, but I do want to learn Node.js and MongoDB.

------
kavi
Yep, TXL (<http://www.txl.ca>).

Cheers, www.nkavvadias.com/hercules/

------
cies
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?

------
pmarsh
C#, but that went hand in hand with the Visual Studio and IIS stack.

C# is good, IIS has a ways to go imho.

------
LeafStorm
I am relearning PHP for a job, and additionally have fiddled around some with
haXe.

------
zefi
I learnt python. It's awesome.

------
bencpeters
C++ and (unrelated project) starting to play with ruby and rails...

------
michelpereira
I learned Python and some PHP for my turn on the DevOps space.

------
Achshar
Not really.. I was comfortable with javascript/php :)

------
dewmop
learned javascript in order to learn backbone. I'm amazed by its simplicity
and quirks all at the same time (php background).

------
kstenerud
Nope. Far too busy building out our product.

------
jcfrei
C++, matlab and (erk!) actionscript 3

------
zinssmeister
went from PHP to a bit of Ruby and extended my skills in JavaScript land with
learning CoffeeScript

------
plashchynski
I learned JavaScript and node.js

------
g3orge
I started with OOP and C++

------
seppo0010
I started learning C.

------
markkat
Yes, Arc.

