Why invent a new language? It's not as if there's a shortage of them.
But with a new programming language comes a new way to look at all the problems that developers, IT admins, and everyone in between face. To that end, the new languages most worthy of your attention are the ones that bring a novel perspective to an existing problem.
Not all of that is about the language; sometimes it's about the environment a language provides. Google's Go and Mozilla's Rust didn't simply offer new syntax, but also new toolchains and strategies to manage projects.
Here are five late-breaking newcomers to the field, all sporting creative approaches to the conundrums found in modern software development, whether practical or philosophical.
Stanza compiles to native code, but doesn't require specifying types. Add them, and the language automatically performs more robust code checking on your behalf. It also uses an object system that doesn't employ classes -- it works with methods and function overloading instead -- and makes it easy to employ co-routines for concurrency.
Resembles: Python, Ruby, and to some degree the family of functional languages
Current platforms: Linux, Mac, Windows
The gist: No longer known as Nimrod (for obvious reasons), Nim takes some of Python's ideas -- clean syntax, convenience, access to the language's own syntax tree -- and makes them available in a language that's statically typed and can perform its own garbage collection and memory management. Other notable features: manually defined operators (you don't have to overload existing ones), macros, and compiling Nim apps to stand-alone binaries with no dependencies.
Resembles: Modula 3, Delphi, Ada, C++, Python, Lisp, Oberon (by the language designers' own admission)
Current platforms: In theory, any platform with a C compiler, but binaries are currently only available for Windows
The gist: Its syntax may be patterned after Ruby -- so Rubyists can get on board in a jiffy -- but unlike Ruby, Crystalcompiles to native code. It also has static type checking that doesn't require type specifications in variables or method arguments, and direct bindings to C code. It doesn't yet have parallelism -- everything's executed in one thread -- but it has concurrency controls, and parallelism is on the long-range to-do list, along with a proper package manager.
Current platforms: Linux, OS X
The gist: Another Python-esque language, Nit was developed to be straightforward to work with and to interface with existing C/C++, Java, and Objective-C code. It's also intriguing in that despite still being in the early stages of its development, Nit supports Android as a compilation target, so it's a possible alternate language for that platform.
Sign up for CIO Asia eNewsletters.