35

Python comes with a huge amount of inbuilt libraries. Many of the libraries are for Artificial Intelligence and Machine Learning. Some of the libraries are Tensorflow (which is high-level neural network library), scikit-learn (for data mining, data analysis and machine learning), pylearn2 (more flexible than scikit-learn), etc. The list keeps going and never ...


30

First, I guess that you mean Common Lisp (which is a standard language specification, see its HyperSpec) with efficient implementations (à la SBCL). But some recent implementations of Scheme could also be relevant (with good implementations such as Bigloo or Chicken/Scheme). Both Common Lisp and Scheme (and even Clojure) are from the same Lisp family. And as ...


25

Practically all of the most popular and widely used deep-learning frameworks are implemented in Python on the surface and C/C++ under the hood. I think the main reason is that Python is widely used in scientific and research communities, because it's easy to experiment with new ideas and code prototypes quickly in a language with minimal syntax like Python. ...


15

David Nolen (contributor to Clojure and ClojureScript; creator of Core Logic a port of miniKanren) in a talk called LISP as too powerful stated that back in his days LISP was decades ahead of other programming languages. There are number of reasons why the language wasn't able to maintain it's name. This article highlights som key points why LISP is good ...


14

Artificial Intelligence is a very broad field and it covers many and very deep areas of computer science, mathematics, hardware design and even biology and psychology. As for the math: I think calculus, statistics and optimization are the most important topics, but learning as much math as you can won't hurt. There are many good free introductory resources ...


14

Remembering that artificial intelligence has been an academic endeavour for the longest time, Prolog was amongst one of the early languages used as part of the study and implementation of it. It has rarely made its way into large commercial applications, having said that, a famous commercial implementation is in Watson, where prolog is used for NLP. The ...


14

Rick Briggs refers to the difficulty an artificial intelligence would have in detecting the true meaning of words spoken or written in one of our natural languages. Take for example an artificial intelligence attempting to determine the meaning of a sarcastic sentence. Naturally spoken, the sentence "That's just what I needed today!" can be the expression ...


11

Yes, as mentioned in other answers, Prolog is actually used in IBM Watson. Prolog doesn't get much "hype" and "buzz" these days, but it is absolutely still used. As always, it has certain specific areas where it shines, and specific techniques that map well to its use. Specifically, things like Inductive Logic Programming, Constraint Logic Programming, ...


9

Overall, the answer is no, but the current paradigms owe a lot to LISP. The language most commonly used today is python. Relevant answers: Stack Overflow thread explaining why LISP was thought of as the AI language: Why is Lisp used for AI Quora answer by Peter Norvig, who wrote a popular textbook on the subject and is currently Director of Research at ...


8

I think the best approach would be to pick up a good book that lays out the fundamentals very well. Artificial Intelligence: A Modern Approach (AIMA) is a great place to begin with! It is used as a reference textbook for many university level AI courses. It has helped me quite a lot as a student.


7

If you're doing deep learning (which I assume you are, if you say you want to learn "AI"), then Python is a MUST. Virtually all the big frameworks are Python wrappers over a C++ core. C# has no real deep learning frameworks. There are a couple such as the Microsoft Cognitive Toolkit, but they are on a completely different level from PyTorch or Tensorflow. ...


6

Question on-topicness questionable, but... The most logical reason why PHP is unsuited for neural networks is that PHP is, well, intended to be used for server side webpages. It can connect to various external resources, such as databases, via native language features. It is very much a glue language, and not a processing language. PHP is also mostly ...


6

I definitely continue to often use Lisp when working on AI models. You asked if it is being used for substantial work. That's too subjective for me to answer regarding my own work, but I queried one my AI models whether or not it considered itself substantial, and it replied with an affirmative response. Of course, it's response is naturally biased as ...


6

Adding some to what Christian said. Facts taken from the book, Artificial Intelligence: A Modern Approach Burrhus Frederic Skinner, a psychologist and behaviourist, published his book Verbal Behaviour in 1957. His work contains the detailed account of the behaviourist approach to language learning. Noam Chomsky later wrote a review on the book, which for ...


6

Second the recommendation for "AI: A Modern Approach". Outside of that, there are a ton of resources online to consider. I think a good start would include: Andrew Ng's Machine Learning course on Coursera (note: I mean the old course, not the "Deep Learning Specialization" which I have no experience with). The Berkeley CS188 course materials here: http://...


5

What attracts me to Python for my analysis work is the "full-stack" of tools that are available by virtue of being designed as a general purpose language vs. R as a domain specific language. The actual data analysis is only part of the story, and Python has rich tools and a clean full-featured language to get from the beginning to the end in a single ...


5

Python has a standard library in development, and a few for AI. It has an intuitive syntax, basic control flow, and data structures. It also supports interpretive run-time, without standard compiler languages. This makes Python especially useful for prototyping algorithms for AI.


5

You'll find that both Calculus and Linear Algebra have some application in AI/ML techniques. In many senses, you can argue that most of ML reduces to Linear Algebra, and Calculus is used in, eg. the backpropagation algorithm for training neural networks. You'd be well served to take a class or two in probability and statistics as well. Programming ...


5

Corporations, government research, and academia are favoring C, Python, Java, LISP, and R currently. The trends are not favorable to C# for AI. C#'s peak of use was in the 2009 to 2012 range. By buying GitHub, Microsoft intends to regain some control over development tools and language but has never been particularly successful in either. Even eclipse is ...


5

There is no "best language" for any problem. There are too many variables to consider, even when advising a single person with a single project plan. If the choice is between Python and C++, I would generally advise: If you want to implement from scratch and learn how the algorithm works, use Python with numeric/accelerated libraries such as NumPy or ...


5

Interpreted languages allow for a faster development cycle, as they don't require time for compilation, and fragments can often be run without having a complete program. They often also have fewer constraints for variable declaration or typing. That means they can be used to quickly scope out a problem and try different solutions. The drawback is the slower ...


4

When I got interested in AI, I started with the most basic things. My very first book was Russell&Norvig's Artificial Intelligence- A modern Approach. I think that's a good place to start, even if you're mostly interested in Deep Nets. It treats not just the basic AI concepts and algorithms (expert systems, depth-first and breadth-first search,knowledge ...


4

AI is a wide field that goes far beyond machine learning, deep learning, neural networks, etc. In some of these fields, the programming language does not matter at all (except for speed issues), so LISP would certainly not be a topic there. In search or AI planning, for instance, standard languages like C++ and Java are often the first choice, because they ...


4

LEGO Mindstorms is widely used to demonstrate AI in schools and universities [1, 2]. With LEGO as basis, you are very flexible. You can build what you want very easily. The AI programs can be written in different languages from very easy graphical once to Lisp and C++. The newest version has an SD Card drive, USB interface and a powerful ARM processor. You ...


4

I recommend python over any other programming language for its availability of libraries. When it comes to machine learning, we have two types of libraries. Deep learning (RNN, CNN, fully connected nets, linear models) classic Machine Learning and the rest (SVM, GBMs, Naive Bayes, Random Forests, K-NN etc) Python has very good libraries in both types. ...


4

LISP is still used significantly, but less and less. There is still momentum due to so many people using it in the past, who are still active in the industry or research (anecdote: the last VCR was produced by a Japanese maker in July 2016, yes). The language is however used (to my knowledge) for the kind of AI that does not leverage Machine Learning, ...


4

AI is a very diverse field of research, technology and science, so many computer technologies and programming languages are used in various AI-related projects. Most of the recent developments and breakthroughs are happening in the machine learning, deep-learning areas where the most widely used programming language is Python. The reason is that the major ...


4

LISP was popular because back in the old days of AI because of the functional syntax, which worked well with the GOFAI paradigm of the time. Nowadays most researchers have given up on the classical computational theory of mind (read: language of thought), and thus also the GOFAI paradigm that it associates with. LISP is not what you want to learn if you ...


4

While dyedgreen is right in some respects, I don't agree entirely with that sentiment. Sure, you can theoretically use any language as long as you know the maths and understand the concepts inside and out whilst having some applicable knowledge. However, I don't believe if you are starting from scratch, you should learn to develop models in Java. While the ...


4

The thing you are probably looking for is: Let us see this question from 2 viewpoints: Beginner: From a viewpoint of beginner, he needs to understand how to implement a model before optimising it. He first needs to visualise the model, see the kinds of bugs that creep in, experiment with the model to gain more intuition. Certainly possible in C/C++. But is ...


Only top voted, non community-wiki answers of a minimum length are eligible