

Ask HN: What are the most commonly used languages for machine learning? - dopamean

A coworker just asked me this and I didn&#x27;t have a clue. Does anyone know of a paper or resource or something that may have some information?
======
jo_
Short answer: Python and R for academic. Java or C++ for production. Julia has
some followers, LUA has a Deep Learning Implementation. Python+CUDA+C++ is
very common in deep learning.

\---

Chiming in as a machine learning researcher. My experience is primarily
focused on the 'deep learning' buzzword at the moment, so people still
researching SVM/NN/clustering may have different experiences.

Academic machine learning is starting to shift towards Python. Most (all?) of
the main deep learning packages have either Python as the core (like PyLearn2
+ Theano) or a strong Python component (like Caffe or DeepLearn). There is
some Java presence (like DeepLearning4j) and some C++ mixed in for the very
high performance code. Usually people will write the glue code in Python and
then do the heavy matrix-intensive operations using PyCuda or cuBLAS (which
are, to oversimplify, Python wrappers of C++ calls to CUDA/OpenCL code).

Some of the bigger names in Deep Learning:

(C++ w/ Python & Matlab support) Caffe:
[https://github.com/BVLC/caffe](https://github.com/BVLC/caffe) Their talk has
links to a lot of other implementations.

(Python) PyLearn2: [https://github.com/lisa-
lab/pylearn2](https://github.com/lisa-lab/pylearn2) Another popular deep-
learning project.

(Java) DeepLearning 4j: [https://github.com/agibsonccc/java-
deeplearning](https://github.com/agibsonccc/java-deeplearning)

(C++ + Python) Cuda-Convnet: [https://code.google.com/p/cuda-
convnet/](https://code.google.com/p/cuda-convnet/) Has C++ for the learning
portions and Python glue.

------
swGooF
I would say the top languages are Python and R. Many enterprises use SAS
and/or SPSS. Java is often used in production settings or when dealing with
Hadoop. Other less popular but still useful languages are: Julia,
Octave/Matlab, and Perl.

Somewhat related: Statistical Languages
[http://101.datascience.community/2014/07/07/statistical-
prog...](http://101.datascience.community/2014/07/07/statistical-programming-
languages-infographic/)

Here is another list: [http://101.datascience.community/2012/12/31/5-free-
programmi...](http://101.datascience.community/2012/12/31/5-free-programming-
languages-for-data-science/)

------
MalcolmDiggs
This is a bit off topic but I thought I'd mention, there's a new language
being developed specifically for AI / Machine learning by a couple guys in LA
called Premise. I saw the main developer demo it at a meetup and it looked
very promising.

[http://premiseai.tumblr.com/](http://premiseai.tumblr.com/)

Certainly not commonly used, but might be worth checking out.

