How does the popularity of major programming languages vary by region in the U.S.? Find out here.
While there is plenty to like about long-established, venerable languages like C and Java, newer programming languages continue to appear (at the rate of about six a year, on average). You may not hear about many of these new programming languages, but that does not mean they are not worth a look. In certain use cases, they can be better solutions than the languages you’ve known and loved for years.
With that reality in mind, here’s a look at four of the most useful programming languages that have debuted in just the past 10 years. (To be clear, we’re talking in this article about totally new languages, not newer versions of older languages.)
Designed by Google engineers for internal use at the company, Golang--which is better known as just Go--became a public project in 2009 and had its first production release in 2012.
If I had to describe Go in a single sentence, I’d say, "It’s like Python, but faster and better at concurrency.” Like Python, Go enforces a strict syntax, which keeps code readable and helps prevent mistakes. Also like Python, Go is designed to make heavy use of functions, thereby allowing developers to build lots of functionality relatively quickly.
But, unlike Python, Go is a compiled language (well, technically, Python gets compiled, too, but not in the traditional sense). This generally improves code execution time. In addition, enabling easy concurrency--meaning that multiple tasks can be performed at the same time--was a central design goal for Go. While most other languages certainly support concurrency as well, features like goroutines make it easier to implement highly efficient concurrency within a Go application. That’s a big advantage in our current age of microservices and multicore CPUs, which require concurrent computing to be used to full advantage.
The bottom line: If you’re a fan of Python but wish it were a little faster and more up-to-speed with modern infrastructure and application architectures, give Go a try.
Created by Apple starting in 2010, Swift is perhaps the best-known and most widely used programming language to appear in the past 10 years. In fact, Swift has become so popular in its short history that by 2015, Stack Overflow developers rated it their most-loved programming language.
That’s not surprising. Swift is basically a reboot of Objective-C, the programming language from the 1980s that was widely used in the Apple ecosystem prior to Swift’s debut. Compared to Objective-C, Swift offers simpler syntax and more modern programming concepts, like so-called protocol-oriented programming, which solves some of the tedium of traditional object-oriented programming. At the same time, however, Swift looks and feels like Objective-C in many ways--which means that all the OS X and iOS coders out there didn’t need to learn a new programming language in order to use Swift.
Today, if you program for macOS (the name that Apple now uses to describe its operating system), Swift is a need-to-know language. (Maybe the same will be true for people who build apps on platforms owned by Google, where Swift’s creator now works.) Fortunately, as noted above, most developers agree that it’s also an easy language to learn and use.
More or less, Hack is to PHP and Facebook what Swift is to Objective-C and Apple.
More specifically, Hack is an alternative to PHP that is designed to reduce errors and make larger codebases easier to maintain, according to Facebook, which released Hack in 2014. One of the main ways in which Hack aims to achieve this is by supporting both static typing and dynamic typing at the same time. PHP supports only dynamic typing.
In most other respects, Hack is very similar to PHP--so similar, in fact, that most PHP code can be run as Hack code, as well.
This means that, if you hate everything about PHP (like, for instance, the mind-numbing quantities of dollar signs that it forces you to include in your code), you probably won’t like Hack, either. But if you like PHP overall, and just wish it were slightly easier to find the bugs in your PHP code before deploying it, Hack might be up your alley.
Also hailing from the take-an-interpreted-language-and-make-it-better category is Crystal, which debuted in 2011. Formerly known as Joy, Crystal is heavily inspired by Ruby, the interpreted.
Syntactically, Crystal and Ruby are quite similar. The big difference between them is that Crystal is a compiled language, while Ruby is interpreted. Despite this difference, Crystal is designed to “feel” like a scripting language.
Thus, if you like Ruby--and scripting languages in general--but seek the performance optimizations of compiled code, Crystal may be a good fit.