The 4 best programming languages to learn with no experience
Learning a coding language is hard, but picking the right one to learn can be even harder. There's a staggering number, and choosing the 'correct' option is bound to induce anxiety.
Of course, everyone is unique and one language might suit you more than others, but there are some definitive factors that make a 'good' programming language.
What should you be looking for in a coding language?
Who better to take advice from on languages than someone who designs them for a top prop trading firm? On a podcast from Jane Street, functional language designer Richard Eisenberg spoke with co-head of technology Ron Minsky about what they're looking for in a programming language.
"For a programming language to be effective, everything needs to be opt-in" says Eisenberg. Minsky coins the idea that a good language is "pay-as-you-go," in that there is a low barrier to entry, but it becomes more and more challenging as you attempt increasingly complex tasks.
Another insight from Eisenberg is that a language should be "easier to read and maybe harder to write."
With those in mind, what programming languages fit the bill?
1. Python
For the indecisive coder or whoever wants the best chance at a job, Python is the obvious choice. The number one ranked language on the TIOBE index is incredibly popular for a simple reason: it's easy to learn and adaptable.
When non-technical staff are asking to learn programming in finance, they're asking to learn python. It's the backbone of systems for companies across the buy-side and sell-side.
But it's the plug-and-play aspects of Python that really let it stand out. Python's various libraries easily adapt key aspects of other languages to fit whatever mold you set for it. Want fast, low-level code? Use NumPy if you like C or Pyo3 if you like Rust.
2. Clojure
For hipsters looking to learn the language of tomorrow, Clojure is a great choice. It is the highest paid programming language according to the stack overflow survey, though jobs are much harder to find given its niche nature.
Another factor that makes it perfect for beginners is its unorthodox approach to syntax. The language doesn't work quite the same as others, meaning a developer stuck in their ways with a previous language would have a harder time learning it than a fresh face.
Again breaking the mold, a reason Clojure has such a loyal fan base is that it's not pay-as-you-go. In fact, it's the exact opposite; it gets progressively easier to implement big ideas. It will by no means be easy to learn, but it will ensure you stand out.
3. Haskell
For the more scientifically inclined and experimental in nature, Haskell is a highly customizable language you can get to work for you.
Eisenberg of Jane Street is a huge proponent of it, having spent much of his academic career as an open-source contributor to it. "There are lots of different things you could turn on and off" he says, "so there isn’t one Haskell or two Haskells, but there’s like ten thousand different Haskells
The 31st most popular language on the TIOBE index is also very niche in the finance sector but is growing in popularity for its applicability in the machine learning space. Standard Chartered for example is hiring multiple Haskell quants right now.
4. Rust
If Clojure is the language of tomorrow, Rust is the language of today. It's recently cracked into the top 20 of the TIOBE index and has a loyal following for its attempts to make low level code effective and attractive.
C++ is the industry standard at low-level, but Rust is far more enjoyable to code with and safer from crashing. It doesn't have nearly the same scope for employability as C++, however. On eFinancialCareers there are currently just 31 openings for Rust engineers. Interestingly, much of these are in crypto.
This doesn't mean finance hates Rust, however. Eisenberg, for example, says in his efforts in the redesigning of OCAML that he wants to "push OCaml in some sense at that high level of description in the same direction."
Have a confidential story, tip, or comment you’d like to share? Contact: alex.mcmurray@efinancialcareers.com in the first instance.
Bear with us if you leave a comment at the bottom of this article: all our comments are moderated by human beings. Sometimes these humans might be asleep, or away from their desks, so it may take a while for your comment to appear. Eventually it will – unless it’s offensive or libelous (in which case it won’t.)