Which programming language is best? That question may never be answered. AI engineers and scientists can choose from a variety of programming languages that best suit their needs.
Medium by Claire D. Compiled by Heart of the Machine with Li Shimeng and Mayonnaise.
C: A kitchen knife, a wok, a good range, and there’s a vegetable market next door.
Java: Vegetable shredder, vegetable slicer, meat Grinder, dough mixer, oven, microwave…
Python: The freezer counter at the big supermarket, ready to go, half-finished to go, everything. It’s a quick way to get to a table that’s still edible, but it’s not so easy to delve into flavors and heat.
C++ : a set of top kitchen utensils, light knife on a dozen, cutting meat slices carved; POTS of stir-frying, smouldering pan-fried meat, fried eggs, stews… People who try to master this tool in 21 days often end up cutting themselves or blowing up the kitchen.
Python is the most powerful language to read. – Pau Dubois
Python is an “experiment” in how much freedom a programmer needs. So free that no one can read anyone else’s code; Too not free, will not be so strong expression. Guido van Rossum
The joy of coding in Python is to see short, readable classes that can express a lot of behavior in a small amount of clean code (rather than boring the reader with a lot of code). Guido van Rossum
-
TensorFlow — for machine learning workloads and processing with data sets;
-
Scikit-learn — Training machine learning models;
-
PyTorch — Computer vision and Natural Language processing;
-
Keras — code interfaces for highly complex mathematical calculations and operations;
-
SparkMLib — a machine learning library similar to Apache Spark, with algorithms and utilities to make machine learning easy for anyone;
-
MXNet — another Apache library that simplifies deep learning processes;
-
Theano — a library for defining, optimizing, and evaluating mathematical expressions;
-
Pybrain — For powerful machine learning algorithms.
-
Three Free Introductory Python courses: 2020 Edition
-
The Full Python Boot Camp: From Nerd to Master with Python 3
Write it once, run it at any time.
-
TensorFlow – Java with apis is also listed among the programming languages supported by TensorFlow. While not as feature-rich as other fully supported languages, they do support Java and are rapidly improving.
-
Deep Java Library — Amazon’s Library for creating and deploying Deep learning capabilities in Java.
-
Kubeflow – Kubeflow makes it easier to deploy and manage machine learning stacks on Kubernetes and also provides an off-the-shelf ML solution.
-
OpenNLP — Apache’s OpenNLP is a machine learning tool for natural language processing.
-
Java Machine Learning Library — Java-ML provides a variety of Machine Learning algorithms for developers.
-
Neuroph — Neuroph designs neural networks using the Java open source framework with the Neuroph GUI.
If Java could be garbage collected, most programs would delete themselves at execution time. – Robert Sewell
Example Java code snippet:
-
Top 5 Online Java Programming 101 Courses — The Best
-
Gmodels — provides a set of tools for fitting models;
-
Tm – framework for text mining applications;
-
RODBC — RODBC interface;
-
OneR — Used to implement single-rule machine learning classification algorithms for machine learning models.
-
A variety of libraries and packages for extended functionality;
-
An active support community;
-
Work well with C, C++ and Fortran.
-
Multiple packages that help extend functionality;
-
Support the generation of high quality graphics.
-
Fact, “Fact,” defines a true statement;
-
A Rule defines a statement with conditions attached;
-
The Goal defines where to submit a statement based on the knowledge base;
-
A Query defines how to make your statement correct and the final analysis of the facts and rules.
-
Symbolic methods include rule-based expert system, theorem proving and constraint-based methods.
-
Statistical methods include neural networks, data mining, machine learning, and others.
Lisp is a language for the impossible. – Kent Pitman
-
Rapid prototyping;
-
Create dynamic objects;
-
Garbage recycling;
-
Flexibility.
When it comes to Lisp, it’s the most beautiful language in the world — at least until Haskell came along. – Larry Wall
-
Strong abstraction ability;
-
Built-in memory management;
-
Code reusability;
-
Easy to understand.
-
Popular editors like Vim and Emacs;
-
Ides like Juno and Visual Studio.
-
Dynamic type system;
-
Built-in package manager;
-
Capable of parallel and distributed computing;
-
Macro and metaprogramming capabilities;
-
Support multiple dispatch;
-
Direct support for C functions.