Programming Languages
List of Programming languages
for Machine Learning
, Artificial Intelligence
and Data Science
Overview
Language | Designer(s) | Year |
---|---|---|
Python | Guido van Rossum | February 1991 |
R | Ross Ihaka and Robert Gentleman | August 1993 |
SQL | Donald D. Chamberlin and Raymond F. Boyce | 1974 |
Java | James Gosling | May 23, 1995 |
Julia | Jeff Bezanson, Alan Edelman, Stefan Karpinski, Viral B. Shah | 2012 |
Prolog | Alain Colmerauer, Robert Kowalski | 1972 |
C++ | Bjarne Stroustrup | 1985 |
LISP | Steve Russell, Timothy P. Hart, and Mike Levin | 1958 |
MATLAB | Cleve Moler | 1970s |
Scala | Martin Odersky | 20 January 2004 |
Python
Python is the ideal coding language used for machine learning, NLP, and neural network connections. Python can be used even if you are new to AI development since it is flexible and comes with pre-existing libraries like Pandas, SciPy, and nltk. Python language is lauded for its simple syntax and minimal codes. Python uses readable keywords, provides object-oriented-programming, and can be integrated with other languages like Java. The development speed of Python is comparatively faster and allows algorithm testing without actually running them.
Online Courses π»
1. Complete Python Bootcamp: Go from Zero to Hero in Python 3 2. Python 3 Tutorial from Codeacademy 3. Complete Python Masterclass 4. The Python Mega Course: Build 10 Real World Applications 5. Python for Everybody Specialization
Textbooks π
- Python Crash Course, Eric Matthews
- Automate the Boring Stuff with Python, 2nd Edition: Practical Programming, Total Beginners by Al Sweigart
- Learning Python, 5th Edition, Mark Lutz
- Head-First Python, Paul Barry
Youtube πΉ
Articles ποΈ
- Asynchronous Programming in Python: A Walkthrough, David Bolton
- Buggy Python Code: The 10 Most Common Mistakes That Python Developers Make, Martin Chikilian
- How to build your own Neural Network from scratch in Python, James Loy
Communities π§βπ€βπ§
1. r/Python 2. r/learnpython 3. gfg/PythonProgrammingLanguage
R
R is an incredible programming language for machine learning written by a statistician for statisticians. R language can also be used by non-programmer including data miners, data analysts, and statisticians. R programming language is a fantastic choice when it comes to crunching large numbers and is the preferred choice for machine learning applications that use a lot of statistical data. With user-friendly IDEβs like RStudio and various tools to draw graphs and manage libraries β R is a must-have programming language in a machine learning engineerβs toolkit.
Online Courses π»
1. R Programming by John Hopkins University 2. Data Science R Basics Certificate by Harvard University 3. R Training Course 4. R Programming A - Z: R for Data Science
Textbooks π
- R for Data Science, Hadley Wickham & Garrett Grolemund
- The book of R, Tilman M. Davies
- R For Dummies, Andrie de Vries & Joris Meys
- Discovering Statistics Using R, Andy Field, Jeremy Miles & Zoe Field
Youtube πΉ
Communities π§βπ€βπ§
1. r/Rlanguage 2. r/programming
SQL
SQL (Structured Query Language) is one of the most requested skills in Data Science. SQL is a programming language used for querying and managing data in relational databases. Relational Databases are formed by collections of two-dimensional tables (eg. Datasets, Excel Spreadsheets). Together with Python and R, SQL is now considered to be one of the most requested skills in Data Science
Online Courses π»
1. The Ultimate MySQL Bootcamp: Go from SQL Beginner to Expert 2. Excel to MySQL: Analytic Techniques for Business Specialization 3. The Complete SQL Bootcamp 2020: Go from Zero to Hero 4. SQL for Data Science
Textbooks π
- Sams Teach Yourself SQL in 10 Minutes, Ben Forta
- Learning SQL, Alan Beaulieu
- SQL: The Ultimate Beginners Guide: Learn SQL Today, Steve Tale
- SQL: QuickStart Guide β The Simplified Beginnerβs Guide To SQL, Clydebank Technology
Youtube πΉ
Communities π§βπ€βπ§
1. r/SQL 2. r/SQLServer
Java
Java is one of the popular programming languages which has a multitude of open-source libraries. Java is user-friendly and provides an independent platform and hence is considered good for developing AI. This is a standard and flexible programming language that offers easier debugging of codes, scalability, the ability to support large-scale enterprises, and graphical representation of data. Java is easy to learn, versatile, and its Virtual Machine Technology enables the development of AI language on different platforms.
Online Courses π»
1. Object Oriented Programming in Java Specialization 2. The Complete Java Masterclass 3. Java Programming: Solving Problems with Software 4. Java Fundamentals 5. Java Programming for Complete Beginners
Textbooks π
- Core Java Volume I β Fundamentals, Cay S. Horstmann
- Effective Java, Joshua Bloch
- Java: A Beginnerβs Guide, Herbert Schildt
- Java - The Complete Reference, Herbert Schildt
Communities π§βπ€βπ§
1. r/learnjava 2. r/javahelp
Julia
Julia is a high-performance, general-purpose dynamic programming language emerging as a potential competitor for Python and R with many predominant features exclusively for machine learning. Having said that it is a general-purpose programming language and can be used for the development of all kinds of applications, it works best for high-performance numerical analysis and computational science. With support for all types of hardware including TPUβs and GPUβs on every cloud, Julia is powering machine learning applications at big corporations like Apple, Disney, Oracle, and NASA.
Online Courses π»
1. Getting Started With Julia 2. Julia Scientific Programming 3. Introduction to Julia 4. Coding for non-programmers in Julia
Textbooks π
- Think Julia: How to Think Like a Computer Scientist, Ben Lauwens & Allen Downey
- Hands-On Design Patterns and Best Practices with Julia, Tom Kwong
- Julia Language: A Concise Tutorial, Antonello Lobianco
- The Julia Express, BogumiΕ Kaminski
Youtube πΉ
Communities π§βπ€βπ§
1. r/Julia
Prolog
One of the oldest programming languages, Prolog or logical programming is a powerful framework that works with three elements- facts, rules, and goals. A developer should define all three elements and then Prolog establishes relations between them to reach a certain conclusion by analyzing facts and rules. Here, the implementation of algorithms happens through logical inferences and searches and this language is great for developing AI systems since the solutions are logical and not just based on pre-existing statements. Prolog is best for creating chatbots, voice assistants, and graphical user interfaces (GUI).
C++
C++ is an extension of the C programming language and can be used to build neural networks. The speed of C++ is the greatest benefit since AI development has complex computations and this language can make the calculations faster. It has a low-level memory control feature and carries asset-compelled applications, performance-critical applications, etc. C++ has a complex syntax but is cost-efficient compared to other languages like Java. C++ can be used in AI programming for search engine optimization and ranking.
Online Courses π»
1. C++ Nanodegree Certification for Programmers 2. Beginning C++ Programming β From Beginner to Beyond 3. Unreal Engine C++ Developer: Learn C++ and Make Video Games 4. C++ Courses & Tutorials Online β Learning Path 5. Learn C++ Programming β Beginner to Advance β Deep Dive in C++
Textbooks π
- C++ Primer, Stanley B. Lippman, JosΓ©e Lajoie, and Barbara E. Moo
- Effective Modern C++ book, Scott Meyers
- The C++ Programming Language, Bjarne Stroustrup
- Accelerated C++: Practical Programming, Example by Andrew Koenig and Barbara E. Moo
Youtube πΉ
Communities π§βπ€βπ§
1. r/cpp 2. r/Cplusplus
LISP
LISP or list processing was created in 1958 by John McCarthy that is suitable for AI development. LISP is flexible and adapts to the solution and can be effectively used for machine learning. LISP is known for rapid prototyping and the dynamic creation of new objects. Although LISP is not popularly used now since the codes are harder to learn and it does not have good libraries. There are many implementations of Lisp. Popular open source versions include SBCL, GNU Lisp, and GNU Common Lisp (GCL).
- LISP Documentation π
Online Courses π»
Textbooks π
- LISP Lore A Guide to Programming the LISP Machine, H. Bromley, Richard Lamson
- COMMON LISP: An Interactive Approach, Stuart C. Shapiro
- Common Lisp: A Gentle Introduction to Symbolic Computation, David S. Touretzky
- Programming in Common LISP, Podney Brooks
Youtube πΉ
Articles ποΈ
Communities π§βπ€βπ§
1. r/lisp 2. r/Common_Lisp 3. r/common_lisp
MATLAB
MATLAB supports interoperability with other open source deep learning frameworks such as ONNX. Users can choose MATLAB for locating capabilities and prebuilt purposes and applications which are not available in other programming languages. The fundamental structure has a basic data element in a matrix. A simple integer is recognised as a matrix of one row and one column. Different mathematical methods that work on arrays or matrices are built into the Matlab environment. These features make the programming language very effective for implementing deep learning.
Online Courses π»
1. Become a Good Matlab Programmer in 30 Days 2. Master MATLAB Through Guided Problem Solving 3. Introduction to Programming with MATLAB 4. Learn MATLAB for Free 5. Matlab Training 6. MATLAB Master Class: Go from Beginner to Expert in MATLAB
Textbooks π
- MATLAB For Beginners, H. Peter I. Kattan
- Process Control β A First Course with MATLAB, Pao Chau
- MATLAB for Dummies, Willey Brand
- Practical Matlab Basics for Engineers, Misza Khalechman
Youtube πΉ
Communities π§βπ€βπ§
1. r/matlab
Scala
Scala is significantly faster than Python, and brings the best of object oriented and functional programming to one high-level language. It was originally built for the Java Virtual Machine (JVM) and is very easy to interact with Java Code. Developers can easily build high-performance systems, while avoiding bugs through Scalaβs use of static types.
Online Courses π»
1. Scala & Functional Programming for Beginners 2. Scala: The Big Picture 3. Functional Programming in Scala Specialization 4. Advanced Scala and Functional Programming 5. Scala and Spark for Big Data and Machine Learning 6. Learn Scala from Scratch
Textbooks π
- Programming in Scala, Fourth Edition, Martin Odersky, Lex Spoon and Bill Venners
- Functional Programming in Scala, Paul Chiusano and RΓΊnar Bjarnason
- Scala for the Impatient, Cay S. Horstmann
- Scala Puzzlers, Neil Gafter and Joshua Bloch
Youtube πΉ
Communities π§βπ€βπ§
1. r/scala