When itoriginally launchedlast year, Algorithmia supported only Java, Scala, and Python 2.x, but had plans for expanding its list of languages. The revamped roster now covers most of the 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 useCython– 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 things 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 also some .Net projects in the same vein (e.g., Accord ), making them good prospects for support in the long term.