# Which language(s) should one know in order to start with Artificial Intelligence?

Hello i new to artificial intelligence, i am web developer i know html, javascript, node js and php. Are these language is ok to create simple AI app.

I have simple AI app in my mind to which will take input as a voice command to shut down my computer.

To create above simple above technologies ok or i have to learn new technology for above app.After creating this simple app i will update and try to control my windows with voice.

• First explore the site Artificial Intelligence and then try to check about questions which are in line with yours. – quintumnia May 25 '17 at 9:59

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.

1. Deep learning (RNN, CNN, fully connected nets, linear models)
2. classic Machine Learning and the rest (SVM, GBMs, Naive Bayes, Random Forests, K-NN etc)

Python has very good libraries in both types. TensorFlow, Theano, PyTorch, Keras, etc for Deep Learning and Scikit-learn, nltk, spacy, gensim, etc for Machine Learning.

I am also new in AI, but in my opinion as professor Andrew Ng said in machine learning course

Creating AI application and test it or improve it till become as you looking for is something, and convert it to applicable real application is another thing.

In other word, you should develop your app with easy, high level and quick tools like Matlab or Octave (for open source).

after you succeed, try to convert it to any language that you wish.

Python is the most widely used language, the most popular AI and machine learning frameworks are based on Python (and C/C++ under the hood). Moreover the vast majority of tutorials, online courses and even academia courses are pushing Python.

Java has only one relatively mature machine learning framework (deeplearning4j). It's said to provide better integration with widely used Java based big data solutions and better portability and product deployment.

The term "Artificial Intelligence" was coined by John McCarthy, the same computer scientist who invented a programming language called LISP. While both theoretical and technological approaches and methods were completely different in those years, LISP is still used for some AI projects. (See Cortex made by ThinkTopic. To be exact, it's based on Clojure, a dialect of Lisp and it runs on JVM.)

PHP is predominantly a web based language though you can create a script in PHP and run it locally. However I wouldn't suggest using PHP for any AI heavy lifting, see Matthew White's blog for more details.

Look at Program-O chatbot, it might be a good start without learning a new language like python, which has more AI/ML libraries available.

Also, did you look at similar questions on stack overflow?

• Let us understand why we are here... – quintumnia May 25 '17 at 10:07

There are several frameworks available for AI. My preference is TensorFlow simply because it's very actively developed by Google. It's written in C++ but the most comprehensive API for TF is via Python. Other frameworks also tend to use Python, like Theano. So my answer would be to go for Python.

• Python also gives you access to NLTK (not speech, but would be useful for written text) and is great for prototyping at a command line. – winwaed May 22 '17 at 16:08

Programming languages are just tools, you can use any tool to do AI. People usually use Python, R, C++. Python is easy to get used to, has a many good libraries for working with machine learning. One thing to have in mind is that online courses and academia ones are done mostly in Python. You can use this one as your main tool but I'd also have a bit of knowledge of the others too.

Pytorch is fairly new. Very easy to get up to speed. Feels very native to Python. So, for me Python coupled with Pytorch.

For more details please refer to Pytorch vs Tensorflow

• Could you add some references/links to your answer? Also, a few words how it relates to Python might be useful. – Oliver Mason Sep 24 '18 at 11:27
• We're glad you like pytorch because it's pythonic, but we will appreciate more details, what are advantages and drawbacks ! – Jérémy Blain Sep 24 '18 at 12:40
• I have added a link to my comment. Hope it helps. I have just started with Pytorch myself :-) so far the journey has been good. – Mo-Gang Sep 25 '18 at 1:49