# Bindings to Other Languages

In addition to the [main C++ interface](../index.md), mlpack also provides
bindings via a simplified API to a number of other languages.  This binding API
is consistent across all languages, allowing for easy transition of mlpack code
between languages,

***Note:*** the binding API is not as flexible or general as the C++ interface;
to get the most out of mlpack, C++ is likely the better route to go.

## CLI (Command-line programs)

<center>
<img src="../img/terminal.svg" width="50" alt="a terminal" />
</center>

 - [CLI quickstart](../quickstart/cli.md)
 - [CLI API reference](bindings/cli.md)

## Python

<center>
<img src="../img/python.svg" width="50" alt="the Python logo" />
</center>

 - [Python quickstart](../quickstart/python.md)
 - [Python API reference](bindings/python.md)

## Julia

<center>
<img src="../img/julia.svg" width="50" alt="the Julia logo" />
</center>

 - [Julia quickstart](../quickstart/julia.md)
 - [Julia API reference](bindings/julia.md)

## R

<center>
<img src="../img/r.svg" width="50" alt="the R logo" />
</center>

 - [R quickstart](../quickstart/r.md)
 - [R API reference](bindings/r.md)

## Go

<center>
<img src="../img/gopher.svg" width="50" alt="the Go gopher" />
</center>

 - [Go quickstart](../quickstart/go.md)
 - [Go API reference](bindings/go.md)
