Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

Programming language and artificial intelligence

  1. Jul 13, 2011 #1
    What programming language is used when creating artificial intelligence.
  2. jcsd
  3. Jul 14, 2011 #2
    I think you can use any language but there is a special language dedicated to program robots.
  4. Jul 15, 2011 #3
    http://en.wikipedia.org/wiki/List_of_programming_languages_for_artificial_intelligence" [Broken]
    Last edited by a moderator: May 5, 2017
  5. Jul 15, 2011 #4


    User Avatar
    Science Advisor

  6. Jul 15, 2011 #5
    I have a question. Can we use our basic programming languages like C and C++ for Artificial Intelligence?
  7. Jul 15, 2011 #6

    I like Serena

    User Avatar
    Homework Helper

    From the hyperlink of FunGus: "AI applications are also often written in standard languages like C++ and languages designed for mathematics, such as MATLAB and Lush."

    So yes, in my experience you do not want to code your AI application in Lisp or Prolog - the preferred language is IMHO C++.
    It takes a little effort to set up the framework, but after that Lisp and Prolog can not compete. They are only nice to learn the concepts of AI thinking.
  8. Aug 2, 2011 #7
    "Languages designed for mathematics" include all of those that fall under the category of "functional programming" languages. In other words, LISP, Haskell, Mathematica and the likes.

    I specialize in AI and would recommend using a pure functional language such as Haskell to program AI systems, although C++ works just as well.
  9. Aug 2, 2011 #8


    User Avatar
    Science Advisor
    Homework Helper

    It's not an "either/or" choice. There is no reason why you can't use a dialect of Lisp for the large-scale structure of the code and data (with the huge advantage over a procedural language like C++ that there is no real distinction between "code" and "data"), but use C++ or assembler for "small scale" efficiency where that is important

    But in any large software application, "efficiency" is usually of no great importance for 99.9% of the lines of code, and premature optimisation is usually a recipe for poor software.

    As the previous post implied, if you only know procedural languages, you only know one way of thinking about "programming", and often that is not the best way.
Share this great discussion with others via Reddit, Google+, Twitter, or Facebook