Answers.Body: <p>If we talk about applied AI, the choice of a programming language for an AI application has the same points to be taken into account that in any other software area: speed of generated code, expressive, reusable, etc.</p>
  
  <p>By example, as training of a neural net is very expensive in CPU, languages as C/C++, that produces very optimized code, are very convenient. Moreover, there are GPUs librarians in C/C++ that allows use of strong parallelism.</p>
  
  <p><strong>A system with some complexity will combine more than one language</strong>, in order to use the best of the language in the points where it is need. </p>
  
  <p>But returning to the list of languages that appears in the question. As all them are Turing complete compare them means talk about its paradigm, features, syntax and available compilers/interpreters. Obviously, something that exceeds the possibilities of a simple answer. Just to show some key points about the ones mentioned in the question:</p>
  
  <p><strong>Prolog</strong> is a programming paradigm by itself. Its main advantage was that Prolog sentences are independent from remainder ones and near to the mathematical definitions of the concepts. Moreover, it is itself a database. Its drawback are also well known: very slow, lack of librarians for i/o, ... . Very interesting (even mandatory) to known a few examples of algorithms in Prolog, but I doubt nobody is using it nowadays, except in obsolete university courses (when you reach the "!", cut its study).</p>
  
  <p><strong>Lisp</strong> is also a zombie. Its functional paradigm has been now included in lots of very more modern languages, combining it with object oriented paradigm: scala, haskell, ocaml/F#, ... . Being functional allows a syntax that made easier to express logic concepts as recursive definition of logic or types, ... . Something very interesting in AI.</p>
  
  <p>In the category of object oriented paradigm and valid for all applications, we have <strong>Python</strong> ( easy to learn, fast prototyping, slow, ... ) C/C++ (very optimized code), Java, ... . More or less, all them are adopting also functional features in latest standards. </p>
  
  <p>In AI there are a lot of very interesting language features to be also considered: rule based systems, ... . Librarians for them can be found in all main languages.</p>
  
  <p>Finally, some words about AGI (strong AI): you do not need a computer. In best moments, we are at the stage of pencil and paper, remainder ones looking at ceiling.</p>
  
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2018-03-09T18:58:18.777Z
Answers.LastActivityDate: 2018-03-10T09:25:38.747Z
Answers.LastEditDate: 2018-03-10T09:25:38.747Z
Answers.UserDisplayName: pasaba por aqui
Body: <p>What are the advantages/ strengths and disadvantages/weakness of programming languages like Common Lisp, Python and Prolog? Why are these languages used in the domain of artificial intelligence? What type of problems related to AI are solved using these languages? </p>
  
  <p>Please, give me link to papers or books regarding the mentioned topic.</p>
  
Comments.ContentLicense: CC BY-SA 3.0
Comments.CreationDate: 2018-03-09T19:54:32.897Z
Comments.Text: Two answers can be found here, [1](https://ai.stackexchange.com/questions/2236/why-is-lisp-such-a-good-language-for-ai) and [2](https://ai.stackexchange.com/questions/3494/why-is-python-the-most-popular-language-in-the-ai-field)
Comments.UserDisplayName: Suraj Shah
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2020-05-13T20:12:36.123Z
Comments.Text: Please, next time focus only on one topic/question/problem/language. Do not ask about 3 languages at the same time. Furthermore, this site is not really appropriate to ask questions about programming languages.
Comments.UserDisplayName: nbro
Tags: <programming-languages>
Title: Why is Common Lisp, Python and Prolog used in artificial intelligence?
UserDisplayName: Sanket Alurkar
ThreadText: # Why is Common Lisp, Python and Prolog used in artificial intelligence?
  
  (Asked by: username_0 on 2018-03-09)
  
  What are the advantages/ strengths and disadvantages/weakness of programming languages like Common Lisp, Python and Prolog? Why are these languages used in the domain of artificial intelligence? What type of problems related to AI are solved using these languages?
  
  Please, give me link to papers or books regarding the mentioned topic.
  
  **Tags:** programming-languages
  > **Comments:**
  > **username_1**: Two answers can be found here, [1](https://ai.stackexchange.com/questions/2236/why-is-lisp-such-a-good-language-for-ai) and [2](https://ai.stackexchange.com/questions/3494/why-is-python-the-most-popular-language-in-the-ai-field)  
  > **username_2**: Please, next time focus only on one topic/question/problem/language. Do not ask about 3 languages at the same time. Furthermore, this site is not really appropriate to ask questions about programming languages.  
  
  ---
  
  ## 1 answers
  
  ### Answer by username_3 on 2018-03-09. Score: 3 | Accepted answer
  
  If we talk about applied AI, the choice of a programming language for an AI application has the same points to be taken into account that in any other software area: speed of generated code, expressive, reusable, etc.
  
  By example, as training of a neural net is very expensive in CPU, languages as C/C++, that produces very optimized code, are very convenient. Moreover, there are GPUs librarians in C/C++ that allows use of strong parallelism.
  
  **A system with some complexity will combine more than one language**, in order to use the best of the language in the points where it is need.
  
  But returning to the list of languages that appears in the question. As all them are Turing complete compare them means talk about its paradigm, features, syntax and available compilers/interpreters. Obviously, something that exceeds the possibilities of a simple answer. Just to show some key points about the ones mentioned in the question:
  
  **Prolog** is a programming paradigm by itself. Its main advantage was that Prolog sentences are independent from remainder ones and near to the mathematical definitions of the concepts. Moreover, it is itself a database. Its drawback are also well known: very slow, lack of librarians for i/o, ... . Very interesting (even mandatory) to known a few examples of algorithms in Prolog, but I doubt nobody is using it nowadays, except in obsolete university courses (when you reach the "!", cut its study).
  
  **Lisp** is also a zombie. Its functional paradigm has been now included in lots of very more modern languages, combining it with object oriented paradigm: scala, haskell, ocaml/F#, ... . Being functional allows a syntax that made easier to express logic concepts as recursive definition of logic or types, ... . Something very interesting in AI.
  
  In the category of object oriented paradigm and valid for all applications, we have **Python** ( easy to learn, fast prototyping, slow, ... ) C/C++ (very optimized code), Java, ... . More or less, all them are adopting also functional features in latest standards.
  
  In AI there are a lot of very interesting language features to be also considered: rule based systems, ... . Librarians for them can be found in all main languages.
  
  Finally, some words about AGI (strong AI): you do not need a computer. In best moments, we are at the stage of pencil and paper, remainder ones looking at ceiling.
  
  
  ---
  
  