

Ask HN: What language will you learn in 2015? - joubert

What language&#x2F;s will you learn this year? Are you doing it to chase after a market or to expand your mental horizons? I&#x27;m planning to spend some time with Nim, specifically to explore its metaprogramming facilities. #lang2015
======
dpeck
Elixir/Erlang my next project (starting tomorrow) looks like it will really
benefit from the things that the Erlang VM brings to the table, and Elixir is
very promising, and rapidly maturing, way to write code for it.

------
bgar
I'm going to be focusing on Clojure, JavaScript and Rust. First though, I'm
taking a break from Clojure to read SICP and do the exercises/problem sets,
because I think that's going to help in the long run. After that I'm reading
Joy of Clojure and going back to working on web apps with ClojureScript and
Reagent. As for JavaScript, it's easy to work with Node and I'm interested in
React.js and WebGL so I'll just keep using it regularly. Rust is very
appealing to me, and having just taken a course in assembly at uni, I'm
craving some lower level programming. The documentation has improved
considerably, right now I'm just working through Rust by Example
([http://rustbyexample.com/](http://rustbyexample.com/)) here:
[https://github.com/bryangarza/rust-by-
example](https://github.com/bryangarza/rust-by-example) and then I want to
make a Vi clone.

------
rdc12
The language that I most want to learn in the short term is Ocaml, been seeing
a fair few posts about the language showing up in the past year, it seems like
the community is a good fit for me.

MirageOS looks very intersting, and I want to try a language with a strong
type system (of the static languages I have only really used C and Java, and
Ocaml, Haskell etc seem to be further along the continuum of type systems.)

I also would like to learn about compilers and static analysis and Ocaml
appears to be quite popular for such projects.

I would also like to reacquaint myself with Python, and maybe dabble with some
Julia as well.

Coq looks pretty intersting as well, but that will probably be late 2015 or
2016.

May start playing around with Rust a little as well, they have some intersting
ideas that I am curious about.

I am also keen to play around with assembler again, my only real usage of
assembler was in a Uni paper a few years back and looking at some x86 aseembly
from GCC and Clang. Thinking of MSP430 and some ArmV7

~~~
rdc12
Forgot to mention some form of HDL, probably Verilog and further delving into
problems with parallel code and the various models on offer.

------
bayareaguy
Jepsen[1] is the killer app that's leading me to learn more about the Clojure
and Go ecosystems.

I mostly write Python by day but since Jepsen revealed consistency problems in
etcd[2], I've had to learn more Clojure/leiningen to see if the ?quorum=true
option fixed them.

What I've learned so far is that Clojure's error reporting sucks unless you
use something like Cider[3] and that etcd till fails to pass Jepsen with
?quorum=true

1- [https://github.com/aphyr/jepsen](https://github.com/aphyr/jepsen)

2- [https://aphyr.com/posts/316-call-me-maybe-etcd-and-
consul](https://aphyr.com/posts/316-call-me-maybe-etcd-and-consul)

3- [https://github.com/clojure-emacs/cider](https://github.com/clojure-
emacs/cider)

------
tutufan
Rust. It's been many years since I ran across a programming language whose
innovations I'd call exciting. It's still early days, but it might be the
language that finally overtakes C++.

------
japhyr
I'm familiar with C and Java, and I can build viable projects in Python/
Django.

To expand my understanding I'm looking at Go or Haskell next, although I might
take a quick spin through Rails to see how it compares to Django. I'll
continue to build the projects I care about in Python, though, because I'd
rather go deep with what I know than spread myself too thin. I expect to
become better at Python by dipping into these other languages.

------
isuraed
Less tools, but stronger and sharper tools.

I'm going back to the basics. No more jumping to a new language or framework
for each new project. My goal for 2015 is to have better results (output) in
my projects, not focus on tools.

My goal is to learn enough Python and Javascript to build a significant sized
project by the end of the year. This will be a nice change from my job where I
use a Java stack (Jetty, Jersey, Jackson, Hysterix)

------
rubiquity
I will be writing a lot of Elixir in production. 2014 wss learning Elixir and
convincing people to let me use it in production :)

As a hobbyist, if I have time, I plan to spend a lot of time with Rust.

In 2014 I spent at least a month each with Elixir, Rust, Clojure and Scala (I
gave Go a long hard look in 2013 already). Elixir and Rust are the two that
have stood out to me for the types of problems I want to solve and the types
of growth I want to experience as a programmer.

------
bbody
Probably Swift, I am getting into mobile development. For actual languages I
will probably attempt French.

------
MrDHat
Scala, for sure!

I've been procrastinating learning Scala for a long time and have a project
this year on Spark, so, yay! :)

------
jackgolding
2014 was my year of Python, I learned how to make actual tools rather than
scripts for myself.

2015 will be at the very least JavaScript. One of my Master's units is in C++
which I have never done more than hello world in before. I am very interested
in Scala.

Best of luck to everyone learning something new this year!

------
whostolemyhat
C++ - I've been making games with Javascript and Python for a while and I want
to learn a lower-level language. C++ has quite a few frameworks and engines
for game dev so I'm combining the two.

I'll also brush up on Node and ES6 to help with my day job.

------
_RPM
I want to do some more programming in python. I always plan to. I even have
small scripts that I've written in python. But I wanted to try some serious
web development with it. My default language is C right now. (not for the web)

------
brickcap
In 2015 I would like to make something useful with what I've learnt so far. I
also want to try my hands on scientific programming languages but I will have
to find a mock scientific problem first :)

------
KhalPanda
Swedish. :-) (My main new year resolution)

Other than that, most likely taking javascript more seriously. I've never
really studied it, just picked it up as I've gone along over the past several
years.

------
sheraz
Looks like my 2015 will be a lot of python -- specifically to build more
robust systems with Django, Scrapy, and NLTK.

And if I get a new Mac this year I might attempt Swift.

~~~
jackgolding
What are you building in Python!?

~~~
sheraz
A few things, but this is my baby at the moment:
[http://3cosystem.com](http://3cosystem.com)

It is a global calendar for tech and startup events.

------
jhildings
I'm thinking of Rust, as I've becoming more interested in system programming
again and not only web development

------
niuzeta
Go or(and) Rust. I've heard good things on both and they all looked pretty
damn fun and productive.

------
waterlesscloud
Lisp. I have a basic knowledge, but one of my goals for 2015 is to become
competent with it.

------
dscrd
Rust and/or Nim, depending on which will feel better as I learn more.

------
brudgers
More of J, I'm thinking.

------
eterps
Elixir

------
mindcrime
There are so many languages on my "to learn" list that it's ridiculous. And I
never seem to find much time to actually spend on new languages. But,
realistically, the one(s) I may actually be able to spend some time on in 2015
are probably:

Javascript - OK, strictly speaking I "know" javascript to some extent, but I
don't consider myself an expert on it, and I'll probably be using it more and
learning more, for the foreseeable future.

Scala. I keep saying this, but I think I'll have more reasons to _actually_
spend time on this in 2015.

Clojure. See above, re: Scala.

Prolog. Probably wishful thinking that I'll find time to put into this, but
we'll see. Some of my interests include NLP, and Prolog has a reputation for
being good for NLP applications, so I may finally start exploring that world.

R. The interest is there, but time is, again, the limiting factor. If a real
world reason to use R emerges, then I might actually get somewhere with it.

The stuff that's on my list that I seriously doubt I'll even touch in 2015
includes: Erlang, Julia, Nim, Haskell, Ceylon, Kotlin, Ada, Go, Rust, Elixir,
etc.

~~~
ludicast
If you haven't got it yet, I'd recommend the 7-in-7 book on languages
([https://pragprog.com/book/btlang/seven-languages-in-seven-
we...](https://pragprog.com/book/btlang/seven-languages-in-seven-weeks)). It
covers the 5 of the languages you mention and could help you determine which
one you'd want to go in more depth on.

Hope you're healed up from your adventures btw.

~~~
mindcrime
_If you haven 't got it yet, I'd recommend the 7-in-7 book on languages_

Yep, I have it, I just haven't gone through it yet. My problem is I'm so busy
doing all the actual day to day "stuff" of working my dayjob AND trying to
build our startup product, AND do marketing, sales, etc. for the startup, that
there's very little time left for experimenting and tinkering with new stuff
and outside interests.

 _Hope you 're healed up from your adventures btw._

Working on it. Thanks!

