Python 3, Ruby, Rust, and JavaScript algorithms are now welcome on Algorithmia

The service for building and hosting algorithms and monetizing them as APIs will also support the standard repositories for third-party code used by each language

Python 3, Ruby, Rust, and JavaScript algorithms are now welcome on Algorithmia
Credit: Thinkstock

Algorithmia, a marketplace for building algorithms and monetizing them as APIs, has added support for four widely used languages: JavaScript, Python 3, Rust, and Ruby.

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.

Algorithmia also now supports the standard repositories for third-party code used by each language: PyPI for Python, NPM for JavaScript, for Rust, and Ruby Gems. The upshot is that any third-party package hosted on those services can be made part of an Algorithmia offering.

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 async/await keywords.

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.