Subscribe / Unsubscribe Enewsletters | Login | Register

Pencil Banner

6 emerging programming languages career-minded developers should learn

Paul Rubens | June 6, 2014
If you want to take your pick of the plum jobs of the future, you need experience in the languages that will be in demand. Learning one of these six will put you ahead of the pack.

Although Opa hasn't yet been adopted by enterprises in any significant way, there are a lot of discussions about the language on the Internet at the moment, Driver says.

Why learn Opa? Web applications are going to get more complex and prevalent, and there's unique value in having the server-side/client-side distribution of code happen automatically.

Scala: Scalable Language in More Than Name Only
Scala is short for "scalable language," and it's designed to be exactly that: Scala can be used for tiny programs or very large-scale applications. It's not particularly new, as it was introduced in 2003, but interest is on the rise. One key reason for that is that you can optimize code to work with concurrency. Another is simply that many developers like using it.

A key advantage for companies considering Scala is that it interoperates with Java. It runs on JVMs (and Android), while integrated development environments (IDEs) such as Eclipse, IntelliJ or NetBeans, and frameworks such as Spring or Hibernate, all work with it. "The ability to adopt it on top of existing JVMs is really significant," says Jeffrey Hammond, a principal analyst at Forrester.

Why learn Scala? It appeals to enterprises that have already invested in Java and don't want to have to support anything new in their production environments.

Erlang: With Concurrency Comes Availability
Erlang is another language gaining momentum because of concurrency. Originally developed in 1986, Erlang was open sourced in 1998. It's designed for building large-scale, highly available applications. Erlang's runtime system supports hot swapping, so code can be modified or updated without having to stop a running system.

Language-level features are provided for creating and managing processes to simplify concurrent programming. Meanwhile, processes communicate using message passing, removing the need for explicit locks.

Why learn Erlang? Both Gartner's Driver and Forrester's Hammond suggest Erlang is likely to proliferate in the coming months and years.

Ceylon: Modular Java Killer
Based on Java, Ceylon has been designed as a Java killer. Developed as a language for writing large programs in teams by Red Hat, the first stable release became available at the end of 2013.

Modularity is a key feature. Code is organized into packages and modules, then compiled to module archives. The tooling supports a system of module repositories, with every module published in a central repository called Ceylon Herd.

Since Ceylon is based on Java programming and comes with an Eclipse-based IDE and command-line tools (with built-in modularity support,) Ceylon shouldn't be too difficult to get up and running if you're already skilled in Java programming.

Why learn Ceylon? Ceylon programs, compile to and execute on Java and JavaScript virtual machines - for client and server systems, it's similar to Opa - and can easily interoperate with native code.


Previous Page  1  2  3  Next Page 

Sign up for CIO Asia eNewsletters.