6 Hot Programming Languages To Add To Your Tool Kit
Are you looking to tune up your software development or DevOps career with up-and-coming languages? Are you a hiring manager hoping to round out the tool set of your in-house team? Here are six languages to consider adding to your repertoire.
![](https://eu-images.contentstack.com/v3/assets/blt69509c9116440be8/blt72b58f83e863ffde/64cb3a8f996e208c629f3fd7/intro.jpg?width=700&auto=webp&quality=80&disable=upscale)
A hallmark of the computer industry is its unrelenting, rapid rate of change. A few years ago, you could make a good living by learning a couple of programming languages and getting to know them really well. Largely that's still true. However, when you hitch your career to any single tool -- whether language, platform, framework, or operating system -- you become dependent on its success or failure. (Silverlight, anyone?)
The result is that every programmer needs to keep learning, and especially follow up-and-coming languages that are getting attention from early adopters. Otherwise, you might turn around and discover that "early adoption" has turned into "the new job requirement," and your own skill set is in jeopardy.
IT hiring managers also need to keep abreast of the latest programming trends to make sure all bases are covered. Whether you decide to bring your in-house team up to speed with fresh training, look for new hires who have these skills, or consider hiring contractors, it's worth your while to know which languages are in the spotlight at any given time -- and what they're good for.
That's especially true with so many new technologies redefining IT. Savvy developers consider whether they should add skills in mobile development, the Internet of Things (IoT), big data, or cloud computing. Often, new technologies have languages associated with them as the best tool for the job.
[What's ahead for your career? Read 10 Best Tech Jobs for 2016.]
I don't mean to imply your existing skill set is outdated. If you're a developer, you can continue to rely on your programming skills in Java, Python, JavaScript, or other well-established languages to ensure a happy development career. It's also a good idea to learn those mainstream languages, if you don't already know them. When it comes to career predictability, mainstream is good.
Likewise, if you're a hiring manager, we're not implying that you should run out and immediately look for new hires who have skills in every one of these languages. A lot depends on the needs of your individual organization -- and the ability of your existing team to learn new things.
That said, it's worth a look at these six up-and-coming languages that ought to be on your radar. The list is inspired primarily by research done by the TIOBE Index, which measures programming language popularity (calculated from various search engine results for queries containing language names), a nod to the RedMonk language rankings, and input from hither and yon (such as my own social network).
Once you're done reviewing these, let's meet up in the comments section below. I'd like to hear from you on which of these languages you think matter most -- and whether you have any favorites that you wish were included here.
What have you done to advance the cause of Women in IT? Submit your entry now for InformationWeek's Women In IT Award. Full details and submission form can be found here.
If you're writing mobile software (and who can avoid that?) almost certainly you have to target iOS devices. Mobile development is going to continue to grow in importance, after all. Even if Apple continues to battle with Android for marketshare, it behooves you to know how to create iOS apps. That means it's time to investigate Swift, Apple's vision for a modern programming language.
Certainly, that's what Apple has in mind: Swift is meant to replace Objective-C. Swift 2 was released recently, and became open source as of December 2015. A Linux port is already available, arguably making Swift even more useful since it encourages other companies to support the language.
Don't feel that you have to dump other languages immediately, though. "Worth noting" is not the same as "dominating." According to TIOBE, "Apple's announcement to replace Objective-C by Swift some time ago was the main cause of [Objective-C's decline]. It was expected that Swift would gain as much popularity as Objective-C left behind, but that doesn't appear to be the case. This is also observed in practice: TIOBE's customers are not eagerly migrating to Swift yet."
Up-and-coming doesn't need to mean a programming language so new that you haven't heard of it. The open source Go, now six years old, came out of Google. It has a stellar pedigree, including Ken Thompson (yeah, that C and Unix guy) and Rob Pike.
Unsurprisingly, with Thompson's name on the project, Go's syntax echoes its C heritage. C's fundamental structures -- such as generics, polymorphism, and object orientation -- still remain in Go, making it an easy transition for C developers.
Initially targeted towards server development, these days Go (at release 1.5) is heavily used in services infrastructure, in conjunction with things like Consul and Traefik. One reason that Go's getting more attention these days: It's used by Docker, the enterprise software darling du jour.
R is a programming language and software environment for statistical computing, data analysis, and data visualization. Its bragging points include data manipulation, calculation, and graphical display. All those attributes make R a popular choice for anyone working with big data.
R isn't new, but it's getting attention nowadays because of the volume of data we all have to contend with. R actually dates from the early 90s. In 1995 it was released as open source under the Gnu Public License.
Among the reasons developers like R is its ability to generate charts and plots. Tasks that might require several hundred lines of code in another language can be written in only a few lines of R. That's not to say R is the only choice for big data or other forms of number-crunching. You should likely consider it alongside Python, and weigh the plusses and minuses for your projects. Nothing says you can't know both languages.
Web developers are encouraged to invest some time in kicking the tires on -- and perhaps adopting -- TypeScript. TypeScript, initially developed by Microsoft, addresses some of the JavaScript limitations that have caused mild-mannered developers to rip out their hair, gnash their teeth, and throw their Star Wars desk toys across the room. For most developers, top on the list of JavaScript weaknesses is a lack of object orientation, which makes writing anything beyond simple scripts quite painful. TypeScript is a superset of JavaScript, and it provides optional static typing, classes, and interfaces -- as a starting point.
Making it even more appealing, Angular 2 is being built on TypeScript. Also, TypeScript can be used with other packages such as jQuery, so none of your existing knowledge is wasted.
Already have TypeScript under your belt? Take a look at Dart, too.
Groovy is an agile and dynamic language for the Java Virtual Machine (JVM). It adds to Java's strengths with features inspired by languages such as Python, Ruby, and Smalltalk. Groovy, too, has been around for a while. First created in 2004, Groovy was purchased by SpringSource (makers of Spring, the Java framework), and then purchased by VMware and managed by Pivotal until the language became an Apache project.
You can use Groovy as a scripting language, or you can treat it as an object-oriented programming language. Think of it as Java paired with a dynamic scripting language like JavaScript or Python. You can also visualize Groovy as a superset of Java, since most Java code is also valid Groovy code. ("It just adds a lot of syntactic sugar on top of Java," according to one Groovy tutorial.) It can compile into Java bytecode, compile Java code, and directly exploit the huge base of Java; but (supporters tell me) Groovy doesn't have the cumbersome Java syntax.
To be honest, I'm not really sure why Groovy is getting so much renewed interest. But when I asked developers about the languages they thought deserved more attention, several brought it up. That's backed up by the TIOBE results, wherein Groovy is No. 4 in growth for the past year. Take a look yourself, and see if you agree with these results.
Rust is a systems programming language focused on safety, speed, and concurrency. First released by Mozilla in 2014, Rust was created for Servo, its HTML rendering engine, with the intent of taking advantage of hardware parallelism inherent in modern hardware. (Servo replaces Gecko, the existing Firefox engine.) With Rust 1.6 released this month, it's starting to take shape.
Initially, writes one of its developers, the pitch for Rust was, "'The type safety of Haskell, the concurrency of Erlang, and the speed of C++' -- Which impressed me, since those three things were what Ruby was terrible at."
Among its benefits, cite developers, are an emphasis on unit testing and benchmarking; "cargo:" the default package manager that makes it easy to publish and depend on other libraries; and a supportive, friendly development community.
It's a certainty that you're offended that I didn't include your favorite in this list -- and not at all a surprise. Every programming language is a tool, after all, and there's nothing as satisfying as hefting the right tool for any particular job. Not to mention that my idea of up-and-coming is unlikely to match yours. You might think mine are also-rans or not-ready-for-primetime.
Still, take the time to learn something new. As Andrew Hunt and Dave Thomas point out in their book, The Pragmatic Programmer, in a section called "Invest Regularly in Your Knowledge Portfolio":
Learn at least one new language every year. Different languages solve the same problems in different ways. By learning several different approaches, you can help broaden your thinking and avoid getting stuck in a rut.
So you might be motivated to check out Myrddin or ThinBasic, or Hack. Or something else entirely. Tell me in the comments section below: If you were to learn a new programming language today, what would it be?
It's a certainty that you're offended that I didn't include your favorite in this list -- and not at all a surprise. Every programming language is a tool, after all, and there's nothing as satisfying as hefting the right tool for any particular job. Not to mention that my idea of up-and-coming is unlikely to match yours. You might think mine are also-rans or not-ready-for-primetime.
Still, take the time to learn something new. As Andrew Hunt and Dave Thomas point out in their book, The Pragmatic Programmer, in a section called "Invest Regularly in Your Knowledge Portfolio":
Learn at least one new language every year. Different languages solve the same problems in different ways. By learning several different approaches, you can help broaden your thinking and avoid getting stuck in a rut.
So you might be motivated to check out Myrddin or ThinBasic, or Hack. Or something else entirely. Tell me in the comments section below: If you were to learn a new programming language today, what would it be?
-
About the Author(s)
You May Also Like