Ask HN: What language will you learn in 2015?

17 points by joubert ↗ HN
What language/s will you learn this year? Are you doing it to chase after a market or to expand your mental horizons? I'm planning to spend some time with Nim, specifically to explore its metaprogramming facilities. #lang2015

30 comments

[ 0.24 ms ] story [ 42.5 ms ] thread
I want to learn Rust because the people behind it seem awesome and the language itself impresses me.
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.

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

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!

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.

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!

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.
Scala, for sure!

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

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.

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.

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

Forgot to mention some form of HDL, probably Verilog and further delving into problems with parallel code and the various models on offer.
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++.
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

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

3- https://github.com/clojure-emacs/cider

Lisp. I have a basic knowledge, but one of my goals for 2015 is to become competent with it.
(comment deleted)
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 :)
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/) here: https://github.com/bryangarza/rust-by-example and then I want to make a Vi clone.
Probably Swift, I am getting into mobile development. For actual languages I will probably attempt French.
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)
I'm thinking of Rust, as I've becoming more interested in system programming again and not only web development
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.

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)

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.

Go or(and) Rust. I've heard good things on both and they all looked pretty damn fun and productive.
Rust and/or Nim, depending on which will feel better as I learn more.