While you might think that machine learning is reserved for developers well-versed in languages like R and Python, you’d be wrong.

Online code repository GitHub has pulled together the 10 most popular programming languages used for machine learning hosted on its service, and, while Python tops the list, there’s a few surprises on there.

Web-scripting language turned jack-of-all trades JavaScript finds its way to number three on the list, data science-focused newcomer and Python rival Julia makes number six, Shell scripts are bundled together at number seven, and big-data favorite Scala is at number 10.

The rankings are based on the primary languages used in code repositories tagged as related to machine-learning, according to GitHub.

They almost certainly don’t reflect which languages are most commonly used for machine learning. A recent Kaggle survey of data scientists flagged Python as the most popular language and R as the language they are most likely to use at work.

SEE: Hiring kit: JavaScript developer (TechRepublic Premium)

But if you only know JavaScript or another language less commonly associated with machine learning and want to dabble in a spot of computer vision or natural language processing, then it’s good to know it’s at least possible. (Note: This article on the top 10 programming languages for machine learning is available as a free PDF download).

These are the top 10 machine learning languages on GitHub, according to the site’s figures. This article is also available as a download, The top 10 languages for machine learning hosted on GitHub (free PDF).

1. Python

Highly rated machine-learning repositories

sci-kit learn: Popular library for data mining and data analysis that implements a wide-range of machine-learning algorithms.

Machine Learning From Scratch: Bare bones but accessible implementations of machine-learning models and algorithms.

ChatterBot: A machine learning, conversational dialog engine for creating chat bots

2. C++

Highly rated machine-learning repositories

tensorflow: Google’s widely used machine-learning framework with APIs for a wide variety of languages.

Turi Create: A library that simplifies the development of custom machine-learning models for developers new to the field. https://github.com/tensorflow/tensorflow

LightGBM: Microsoft’s gradient boosting framework designed to help increase machine-learning model training speed and efficiency.

3. JavaScript

Highly rated machine-learning repositories

Flappy Learning: A program that learns how to play the infamous Flappy Bird game.

AI Blocks: A drag-and-drop WYSIWYG editor that aims to allow anyone to create Machine Learning models (also requires Python and tensorflow to be installed).

ml5.js: Aims to make machine learning usable by artists and non-technically minded students by offering access to machine learning algorithms and models in the browser.

4. Java

Highly rated machine-learning repositories

Smile: A fast and comprehensive system for carrying out machine learning, NLP, linear algebra, graph, interpolation, and visualization system in Java and Scala.

H20: An in-memory platform for distributed, scalable machine learning that works on existing big data infrastructure, on bare metal or on top of existing Hadoop or Spark clusters.

EasyML: A general-purpose dataflow-based system designed to make it easier to apply machine learning algorithms to real-world tasks.

5. C#

Highly rated machine-learning repositories

ML Agents: An open-source plugin for the Unity game engine that enables games and simulations to serve as environments for training intelligent agents.

ML.NET: An open-source and cross-platform machine learning framework for .NET.

Accord.NET: A framework that provides machine learning, statistics, artificial intelligence, computer vision and image processing methods for .NET.

6. Julia

Highly rated machine-learning repositories

Flux.jl: A machine learning library that aims to provides a single, intuitive way to define models.

Knet.jl: A deep-learning framework that can run on GPUs and supports automatic differentiation using dynamic computational graphs for models.

Metalhead.jl: Provides computer-vision models that run on top of the Flux machine-learning library.

7. Shell

Highly rated machine-learning repositories

Dl-machine: Scripts for setting up a GPU to compute using CUDA with libraries for deep learning.

Ml-notebook: A Dockerfile for multiple machine learning tools, aimed at providing an accessible and reproducible environment for a variety of machine learning toolkits, with a focus on deep learning.

Docker-predictionio: A Docker container for PredictionIO-based machine learning services.

8. R

Highly rated machine-learning repositories

ML_for_Hackers: Code accompanying the book Machine Learning for Hackers.

Benchm-ml: A minimal benchmark for measuring scalability, speed and accuracy of commonly used open-source implementations of machine-learning algorithms.

Machine Learning in R : The framework provides code for supervised machine-learning methods like classification, regression and survival analysis, as well as unsupervised methods like clustering.

9. TypeScript

Highly rated machine-learning repositories

Windows Machine Learning : Windows ML provides trained machine learning models for developers to use in Windows apps built using C#, C++, JavaScript.

machinelearn.js: Provides simple and consistent APIs to interact with machine-learning models and algorithms, and teaches users how machine learning algorithms work.

Guess.js: Offers libraries to simplify the use of predictive data analytics to improve user experiences on the web.

10. Scala

Highly rated machine-learning repositories

aerosolve: A machine-learning library designed from the to be human friendly.

Microsoft Machine Learning for Apache Spark : Tools designed to be used with the distributed-computing framework Apache Spark.

BIDMach: A CPU and GPU-accelerated machine learning library designed with speed in mind.