What it is: Unveiled in 2012, Julia is dedicated to technical applications, such as data analysis and linear algebra.
How it's a challenge: One of Python's major use cases is for math and science applications, thanks to libraries like Numpy and the interactive IPython notebook format. Julia is aimed at much the same user base, and like Go and Swift, it's faster at its core than Python. It also features a growing list of packages, covering not just math and science applications, but also other functionalities associated with Python, like connectivity to data sources on cloud providers.
How Python still has its lead: Julia has a relatively package index compared to Python. But beyond that, the existing community of development around Python for math and science work isn't sitting on its laurels -- it's advancing both the core language and the environment around it, nonstop. It's also not as if Python can't run as fast as Julia (or many of Python's other competitors), as long as you use the right libraries for the right job.
There's also skepticism about the way Julia has been put together. Random example: Julia's arrays are 1-indexed rather than zero-indexed -- in stark contrast not just to Python, but almost every other language out there. (It's likely this was meant to complement packages like Mathematica that also use 1-indexing, as a way to bring in users of that system, but it's still jarring.)
What it is: A long-standing project -- both a language and a development environment -- for statistical computing.
How it's a challenge: R has many of the benefits Python likes to claim for itself, such as a rich ecosystem of third-party packages. R is also designed with statistical computing in mind and remains focused on that. Python does math and stats among other things, but math and stats are what R is about from top to bottom.
R's also drawn the attention of some big names. Microsoft acquired the makers of one of the standard implementations of the language to complement its own cloud-based data services. Hewlett-Packard has developed aDistributed R product that can run across many nodes at once. With their involvement, future versions of R could push Python off the map when it comes to statistical work.
How Python still has its lead: Sometimes, though, being a general-purpose language has its advantages. R is rather limited in what it can deal with -- there's little in the way of creating interactivity with running R applications, for instance. It's also generally easier to get onboard with Python as a language than with R -- or to use a package like RPy2 to connect Python to R and get the best of both worlds.
Sign up for CIO Asia eNewsletters.