Before Python was imposed, these were the languages with which artificial intelligence was developed
Today, learn artificial intelligence has almost become synonymous with learning to program in Python. This programming language created by Guido Van Rossum in 1991 is, by far, the most used today in artificial intelligence projects, especially in the field of ‘machine learning’.
It helps this, in addition to its popularity as a general programming language (and also in related fields, such as data analysis) that all great AI libraries (Keras, TensorFlow, SciPy, Pandas, Scikit-learn, etc) are designed to work with Python.
Nevertheless, artificial intelligence is much older than python, and there were other languages that stood out in this field for decades before his arrival. Let’s take a look at what they were:
The Information Processing Language (IPL) is a low-level language (almost as low as assembly) that was created in 1956 in order to show that the expressive theorems in the ‘Principia Mathematica’ by mathematicians and philosophers Bertrand Russell and Alfred North Whitehead could be proved by resorting to the computing.
IPL introduced in programming characteristics that are still fully valid today, such as symbols, recursion or the use of lists. The latter, a data type so flexible that it allowed a list to be introduced as an element of another list (which in turn could introduce another list as an element, etc.) was fundamental when it came to use it to develop the first AI programsWhat Logic Theorist (1956) or the chess program SSN (1958).
Despite its importance in the history of AI, several factors (the first being the complexity of its syntax) made it quickly replaced by the following language of the list.
LISP is the oldest of the programming languages dedicated to artificial intelligence among those that are still in use; and it is also the second high-level programming language in history: was created in 1958 (one year after FORTRAN and one year before COBOL) by John McCarthy, who two years earlier had already been responsible for coining the term ‘artificial intelligence’.
Shortly before, McCarthy had developed a language called FLPL (FORTRAN List Processing Language), an extension of FORTRAN, and decided to collect in a single language the high-level nature of FLPL, all the innovations provided by IPL, and the formal system known as lambda calculus. . The result was named LISP (for ‘LISt Processor’).
At the same time that he was developing FLPL, McCarthy was also formulating so-called ‘alpha-beta pruning’, a search technique that reduces the number of evaluated nodes in a game tree. And, to implement it, introduced such a fundamental element in programming as structures if-then-else.
Programmers quickly fell in love with the freedom it offered them. the flexibility of this language, and its facet as a prototyping tool. A) Yes, for the next quarter of a century, LISP became the reference language in the field of AI. Over time, LISP fragmented into a whole series of ‘dialects’ still in force in various fields of computing, such as Common LISP, EMACS LISP, Clojure, Scheme or Racket.
The language PROLOG (from French ‘programming in logic‘), which we have already told you about on other occasions, was born at a hard time for the development of artificial intelligenceat the gates of the first ‘AI Winter’, when the initial furor over the applications of this technology crashed against the skepticism caused by the lack of progress, which generated public and private disinvestment in its development.
Specifically, it was created in 1972 by French computer engineering professor Alain Colmeraurer, with the aim of introducing the use of Horn clauses, a formula of propositional logic, into software development. Although globally it never became as widely used as LISP, it did become the main AI development language in its home continent (as well as in Japan).
Being a language based on the declarative programming paradigm —like LISP, on the other hand—, its syntax is very different from that of typical imperative programming languages like PythonJava, or C++.
The ease that PROLOG provides in handling recursive methods and pattern matching caused IBM will bet on implementing PROLOG in its IBM Watson for natural language processing tasks.
An earlier version of this article was published in 2021.