Dry share: Five best programming languages for learning AI development

Source: Internet
Author: User
Tags jupyter jupyter notebook keras

AI (AI) opens up a whole new possibility for application developers. By leveraging machine learning or deep learning, you can build better user profiles, personalize and recommend them, or integrate smarter search, voice, or smart assistants, or improve your app in several other ways. You can even build applications that understand, understand, and interact with humans. Are you ready to learn AI, do you know which programming language is right for you to choose? The five programming languages listed below are considered to be best suited for learning AI. You can refer to it for a moment.

1. PYTHON
The first place is undoubtedly Python. Although Python has some features that are uncomfortable (whitespace, Python 2.x and Python 3.x differ greatly, and five different package mechanisms are flawed to varying degrees) but if you're working on AI, you'll almost certainly be using Python at some point.


The number of libraries available in Python is unmatched by other languages. NumPy has become so prevalent that it has almost become the standard for tensor operations Api,pandas bringing powerful and flexible data frames of R into Python. For natural Language Processing (NLP), you can use the prestigious NLTK and lightning-fast spacy. For machine learning, there is an actual combat test of Scikit-learn. When it comes to deep learning, all the current libraries (Tensorflow,pytorch,chainer,apache Mxnet,theano, etc.) are the first projects implemented on Python.

(on liveedu, a German AI developer teaches you how to develop two simple machine learning models using Python)

If you're reading a top-notch deep learning study on ARXIV, you'll almost certainly find the source code in Python. In addition, there are other parts of the Python ecosystem. Although IPython has been renamed Jupyter Notebook and looks no longer centered on Python, you will still find that most Jupyter Notebook users and most online shared notebooks use Python.


Python is the leading language in AI research, the language that has the most machine learning and deep learning frameworks, and the language that AI researchers almost always know. For these reasons, although I curse a whitespace question every day, Python is still the king of the AI programming language, and you can't get around it.


2. JAVA and related languages

The JVM family of languages (java,scala,kotlin,clojure, etc.) is also an excellent choice for AI application development. Whether it's natural language processing (CORENLP), tensor operations (ND4J), or a complete GPU-accelerated deep learning stack (dl4j), you can use a number of libraries to manage parts of your pipeline. Plus, you can easily access big data platforms like Apache Spark and Apache Hadoop.


Java is a common language for most businesses, providing a new language structure in Java 8 and Java 9, which makes the experience of writing Java code not as bad as we remember in the past. Writing an AI application in Java can be boring, but it does work, and you can develop, deploy, and monitor with all the ready-made Java infrastructure.


3. C + +
C/C + + is unlikely to be your first choice when developing an AI app, but if you work in an embedded environment and can't afford the Java virtual machine or Python interpreter, C/s + + is the best solution. When you need to squeeze every drop of the system, you have to face the scary world of pointers.


Fortunately, the modern C + + + writing experience is good (honestly!). )。 You can choose from one of the following methods: You can go to the bottom of the stack, use a library like CUDA to write your own code that will run directly on the GPU, or you can use TensorFlow or Caffe to access the flexible advanced API. The latter also allows you to import models written by data scientists in Python, and then run them in a production environment at the C + + level of speed.

In the coming year, keep an eye on Rust's actions in the AI field. Combining speed and type and data security at the C/s + + level, Rust is the best choice for achieving product-level performance without creating security issues. And it has now been able to bind with TensorFlow.


4. JAVASCRIPT
Clams?! Javascript? Did I hear you wrong? In fact, Google recently released Tensorflow.js, a WebGL accelerator library that allows you to train and run machine learning models in a Web browser. It also includes the Keras API and the ability to load and use models that have been trained in regular tensorflow. This may attract a large number of JS developers into the AI field. Although the machine learning library that JavaScript currently has access to is limited compared to other languages, in the near future, it is as simple as adding a React component or CSS property to a developer to add a neural network to a Web page. It sounds both powerful and terrifying.

Tensorflow.js is still in its early stages. Currently it can be run in a browser, but not for node. js. It has not yet implemented the full TensorFlow API. However, I anticipate that both issues will be largely resolved by the end of 2018, and JavaScript will aggressively march into the AI world shortly thereafter.

5. R
R is at the bottom of the list and looks set to decline. R is the language that data scientists like. However, other programmers feel a bit confused when they first touch R because it takes a data-frame-centric approach. If you have a dedicated set of R developers, it makes sense to use R with TensorFlow, Keras, or H2O for research, prototyping, and experimentation. But based on performance and operational considerations, I'm reluctant to recommend R for production. While you can write high-performance R code that can be deployed on a production server, it is certainly easier to recode this prototype in R language into Java or Python.

This article is reproduced, the source of the original: "AI development, which language is strong?" 》

Dry share: Five best programming languages for learning AI development

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.