When originally launched last year, Algorithmia supported only Java, Scala, and Python 2.x, but had plans for expanding the list. The revamped roster now covers most languages used for algorithm development in fields like machine learning and natural language processing -- areas where Algorithmia wants to provide a broad range of offerings.
In Python's case, Algorithmia is wise to support both Python 2.x and 3.x. Third-party library support for Python 3 has been catching up to Python 2, and it helps for algorithm developers to have access to advanced Python 3 features like the
Algorithmia also supports third-party Python libraries like Numpy, which is commonly used in algorithmic applications to speed up processing. It's less clear if you can use Cython -- which converts Python to C for speed -- but having generic support for packages in PyPI goes a long way toward ameliorating that.
Rust, the language developed by Mozilla for safe and fast systems-level programming, recently achieved a level of stability and maturity, making it easier to develop in the language without worries about forward compatibility. That's likely one of the elements Algorithmia was waiting to have in place before formally supporting the language.
Rust still lacks a general math-and-stats library on the order of Python's Numpy, but a few candidates have emerged, and Algorithmia seems like an ideal proving ground to determine which ones will gain broad adoption.
C/C++ and the languages for the .Net environment, such as C# and F#, still aren't supported in Algorithmia. Some powerful and widely used machine learning libraries are written in C++, and there are some .Net projects in the same vein (such as Accord), making them good prospects for support in the long term.
Sign up for CIO Asia eNewsletters.