AI(人工智能)为应用开发者开创了一个全新的可能性。经过利用机器学习或深度学习,您能够生成更好的用户配置文件、个性化设置和推荐,或者整合更智能的搜索、语音界面或智能助手,或者以其余数种方式改进您的应用。你甚至能够构建看得懂、听得懂,并与人类互动的应用。准备学习AI的你,知不知道选择哪一种编程语言合适呢?如下列举的五种编程语言,被认为是最适合用来学习AI。你们能够参考一下。html
1. PYTHON
第一名毫无疑问是 Python。尽管 Python 有些特性使人不爽(whitespace、Python 2.x 和 Python 3.x 之间的巨大差别、五种不一样的包机制都在不一样程度上有缺陷)但若是你正在从事 AI 工做,你几乎确定会在某些时候用到 Python。python
Python 中可用库的数量是其余语言所没法企及的。NumPy 已经变得如此广泛,以致于几乎成为了张量运算的标准 API,Pandas 将 R 的强大而灵活的数据帧带入 Python。对于天然语言处理(NLP),您可使用久负盛名的 NLTK 和快如闪电的 SpaCy。对于机器学习,有通过实战检验的 Scikit-learn。当谈到深度学习时,当前全部的库(TensorFlow,PyTorch,Chainer,Apache MXNet,Theano 等)都是在 Python 上首先实现的项目。git
(在LiveEdu上,一位德国的AI开发者教你们如何使用Python开发两个简单的机器学习模型)程序员
若是您正在阅读关于 arXiv 的顶尖深度学习研究,那么几乎能够确定您会在 Python 中找到源代码。 此外,Python 生态系统中还有其余部分。虽然 IPython 已经更名为 Jupyter Notebook,看上去再也不以 Python 为中心,但您仍然会发现绝大多数 Jupyter Notebook 用户以及大多数在线共享笔记本都使用 Python。github
Python 是人工智能研究的前沿语言,这是拥有最多机器学习和深度学习框架的语言,也是 AI 研究者几乎都掌握的语言。因为这些缘由,尽管笔者天天都要咒骂一次 whitespace 问题,Python 仍然是人工智能编程语言之王,您无法绕过它。apache
2. JAVA 和相关语言编程
JVM 系列语言(Java,Scala,Kotlin,Clojure 等)也是 AI 应用开发的绝佳选择。不管是天然语言处理(CoreNLP)、张量运算(ND4J)仍是完整的 GPU 加速深度学习堆栈(DL4J),您均可以使用大量的库来管理流水线的各个部分。另外,您还能够轻松访问 Apache Spark 和 Apache Hadoop 等大数据平台。api
Java 是大多数企业的通用语言,在 Java 8 和 Java 9 中提供了新的语言结构,这使得编写 Java 代码的体验再也不像咱们过去所记得的那样糟糕。使用 Java 编写人工智能应用可能会让人以为无聊,但它确实能完成工做,而且您可使用全部现成的 Java 基础架构来开发、部署和监视。浏览器
3. C/C++
在开发 AI 应用时,C / C ++ 不太可能成为您的首选,但若是您在嵌入式环境中工做,而且没法承受 Java 虚拟机或 Python 解释器的开销,那么 C / C ++ 就是最好的解决方案。当你须要榨干系统的每一滴性能时,你就得面对可怕的指针世界。安全
幸运的是,现代 C / C ++ 写起来体验还不错(实话实说!)。您能够从下列方法中选择一个最适合的:您能够一头扎进堆栈底部,使用 CUDA 等库来编写本身的代码,这些代码将直接在 GPU 上运行;您也可使用 TensorFlow 或 Caffe 以访问灵活的高级 API。后者还容许您导入数据科学家用 Python 写的模型,而后以 C / C ++ 级别的速度在生产环境中运行它们。
在将来一年中,请密切留意 Rust 在 AI 领域的一些动做。结合 C / C ++ 级别的速度与类型和数据安全性,Rust 是实现产品级性能却不会形成安全问题的最佳选择。而且它如今已经能够与 TensorFlow 绑定了。
4. JAVASCRIPT
蛤?!JavaScript?我没听错吧?其实,谷歌最近发布了 TensorFlow.js,这是一个 WebGL 加速库,容许您在 Web 浏览器中训练和运行机器学习模型。它还包括 Keras API 以及加载和使用在常规 TensorFlow 中训练过的模型的功能。这可能会吸引大量的 JS 开发者涌入 AI 领域。虽然 JavaScript 目前可以访问的机器学习库与其余语言相比有所局限,但在不久的未来,开发者在网页中添加神经网络就和添加 React 组件或 CSS 属性同样简单。这听上去既强大又恐怖。
TensorFlow.js 仍处于早期阶段。目前它可在浏览器中运行,但不适用于 Node.js。它尚未实现完整的 TensorFlow API。不过,我预计到 2018 年末,这两个问题都将基本获得解决,而且JavaScript 将在不久以后大举进军 AI 界。
5. R
R 在这份榜单中排名最末,而且看上去将会愈来愈没落。R 是数据科学家喜欢的语言。可是,其余程序员在第一次接触 R 时会感到有些困惑,由于它采用了以数据帧为中心的方法。若是您有一组专门的 R 开发者,那么将 R 与 TensorFlow、Keras 或 H2O 搭配使用,进行研究、原型设计和实验是有意义的。但基于性能和操做方面的考虑,我不肯意推荐将 R 用于生产。虽然您能够写出能在生产服务器上部署的高性能 R 代码,但将这种用 R 语言编写的原型从新编码为 Java 或 Python 确定会更容易。
本文为转载,原文出处:《AI 开发,究竟哪一种语言强?》