There are a number of different languages that work fairly well with things like Analytics, Data Science, and Machine Learning which all fall under the very wide umbrella that is Artificial Intelligence. The common recommendation for complete beginners is to start with python due to the simplicity of the syntax and the many different libraries like NumPy and SciPy but is that the most popular? Or is it really the best one to use? The answer to that just depends on your current level of competence within the field and what you’re looking to accomplish. We’re going to run through a few of the most popular programming languages for machine learning and shortly summarize why.

As you can see below based on the KD nuggets poll back in 2016 R was slightly more popular then python but in 2017 that changed. Python’s popularity is still on the rise



Yes, everyone usually starts with python whenever they discuss anything related to AI and it’s not hard to see why. Python has some very helpful libraries that make programming much easier. I will describe these libraries more in depth in a future blog post. A popular framework in python called sckikit-learn also makes data analysis easier to deal with and more straightforward than most programming languages. It currently contains most of the well known machine learning algorithms including vector machines, boosting, k-means clustering, and more. This is without a doubt the most popular machine learning library in python.

    Another major reason why python is often used is that it has a way of keeping programming simple. It was developed with a goal in mind, to make code more organized witch helps with readability. Since code is read far more often than it is written it helps to have a language that renders an otherwise complicated process relatively painless. In programming there is beauty in simplicity. Not to mention the Pandas library which stands for Python Data Analysis Library. It makes things flow smoothly with a Data Frame class, which is a matrix with column headers that allows the programmer to manipulate data frames and read a variety of file formats.


    This programming language is exclusively known for statistical analysis and a much steeper learning curve than that of python. It’s mainly a platform used to understand and organize your data with statistical models. It has an enormous number of algorithms and the potential is vast as a result. R was the most popular choice for programmers who compete in Kaggle competitions as of 2016. R is also known to be somewhat faster than python. With over 5,000 libraries its no wonder this language is also favored by many in academia.


    Some people have questioned whether this language is even a good choice for machine learning let alone the best. The short answer is yes, C++ is a decent language to use for this purpose. The longer answer goes something like this. C++ is excellent for people who enjoy trying to find new ways to do things.For example, you can write your own library instead of using prepackaged libraries which would allow for more speed and efficiency assuming you had the necessary skills.

    When you already know what algorithm you want to use, C++ will allow for very rapid speed and development which is an advantage it has over python. Overall, when it comes to implementing machine learning concepts with this language it has an edge over its competition, but it doesn’t seem to be as good for the actual learning process. This makes it highly unpopular among beginners.


    Another language that is seldom talked about is Java. At one point Java was the norm when it came to implementing machine learning algorithms. It had advantages like the fact that the code was easily maintainable and readable. Java was a popular choice among people wishing to apply for a job as a data scientist (though this no longer seems to be the case).  Unfortunately after languages like python and R were improved upon with fast and easy to use libraries and packages Java seemed to fall out of favor.


    It is our opinion that python is one of the best languages for just about everything including machine learning. It is by far the best for new programmers just starting out because of the readability and how much you can accomplish with fewer lines of code. Even with Kaggle competitions the more recent polls are beginning to favor python over R. So, the real answer to the question asked in the title of this post is python if you want an all-purpose and efficient language and especially if you want to begin in this field. The other answer for a time, when you reach high levels of mastery, implementing R in some aspects alongside python will probably be your best bet depending on what kind of problem or project you’re working on.


  1. R2D2

    Do you think there is a possibility that someone will create some new programming language in the future that will be better than all of the above? The one that will be simpler to learn and more compact in its form but that has more functional use?

  2. Matthew Cress Post author

    Yes, as the demand for programming skills in the workforce increases the demand for simple languages with manageable learning curves will increase as well

  3. WighTShadoW

    I don’t know a thing about programming or demand for any of this in the workforce but after reading this I am interested in more information and possibilities of this stuff.

  4. Pingback: cybersecurity – USING AI FOR CYBERSECURITY


Leave a Reply

Your email address will not be published. Required fields are marked *