人工智能(AI)开创了应用程序开发的全新时代。通过利用机器学习和深度学习,可以完成用户配置优化,个性化设置及建议。另外,还可以整合更智能的搜索结果,提供语音界面或智能帮助等,用于优化程序本身。你甚至可以构建具有视觉和听觉,并能够作出反应的智能应用程序。
学习哪种编程语言来深入探索 AI?一个拥有大量优秀机器学习和深度学习库的语言当然是首选。此外,它还应具有良好的运行性能,优秀的工具支持和聚集了大量软件工程师的开源社区。
下面是我选出的适合 AI 开发的五种最佳编程语言。其中一些语言正在兴起,而另一些似乎正在没落。几个月后之后,你可能会发现这些排名已经发生了变化。
1. Python
第一,毫无疑问是 Python。尽管 Python 仍存在许多问题,例如空格 / Tab 缩进及 Python 2 和 Python 3 之间的不兼容性。但是,当你面对与 AI 相关的工作时,依然推荐选择使用 Python。
Python 提供的第三方工具是无与伦比的。例如,NumPy 已经变得无处不在,它几乎是张量操作的标准 API;Pandas 将 R 强大而灵活的 DataFrame 带入 Python;对于自然语言处理(NLP),你可以利用 NLTK 和快速的 SpaCy;对于机器学习,有久经沙场的 scikit-learn;而对于深度学习,所有当前的第三方库,诸如 TensorFlow,PyTorch,Chainer,Apache MXNe 以及 Theano,都是为 Python 量身打造。
当你阅读到 arXiv 上有关深度学习的前沿研究论文时,你一定能找到对应 Python 版本的源代码。Python 还有其他优秀之处,虽然 IPython 已经渐渐被 Jupyter Notebook 取代,从而兼容更多的语言,但绝大多数 Jupyter Notebook 用户以及大多数在线分享的 Notebook 都在使用 Python。
Python 是人工智能研究的前沿语言,是拥有机器学习和深度学习框架最多的语言,也是 AI 领域几乎所有人都在使用的语言。因此,无论大家每天如何抱怨空格 / Tab 缩进问题,Python 都是人工智能编程语言中的首选。
2. Java 系列
JVM 系列语言(Java,Scala,Kotlin,Clojure 等)也是 AI 应用程序开发的绝佳选择。无论是自然语言处理(CoreNLP),张量运算(ND4J)还是完整的 GPU 加速深度学习堆栈(DL4J),都可以有大量数据库可以使用。另外,您还可以轻松访问 Apache Spark 和 Apache Hadoop 等大数据平台。
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 在未来一年的应用。结合了 C / C ++ 的速度与类型和数据安全性,Rust 是既能实现功能而又不造成安全性问题的最佳选择。
4. JavaScript
JavaScript 是怎么回事? 谷歌最近发布了 TensorFlow.js,这是一个 WebGL 加速库,能实现在 Web 浏览器中训练和运行机器学习模型。它还拥有 Keras API,并且能加载和使用在常规 TensorFlow 中训练过的模型。这可能会吸引大量开发人员涌入 AI 领域。虽然 JavaScript 目前访问机器学习库的方式与其他语言不同,但开发人员在网页中添加神经网络,就像添加 React 组件或 CSS 属性一样简单。
TensorFlow.js 仍处于早期阶段。目前它无法在 Node.js 中工作,且还没有实现完整的 TensorFlow API。不过,预计到 2018 年底,这两个问题都将基本得到解决。届时,JavaScript 在 AI 应用中的地位将会越来越高。
5. R
R 位列前五的末位,呈衰落趋势。 R 是数据科学家喜欢的语言,正因为它以数据框架为中心,其他程序员在第一次接触 R 时常常会感到困惑。如果团队中有专门的 R 开发人员,那么整合 TensorFlow,Keras 或 H2O 进行研究、建模和实验是有意义的。但是,出于性能和使用方面的考虑,我不推荐 R 用于实际生产。虽然,可以在生产服务器上部署高性能 R 代码,但采用 R 语言编写原型,并将其重构为 Java 或 Python 运行反而会更加容易。
作者:Lan Pointer
编译:实验楼_July Zheng / 实验楼_huhuhang
出处:https://www.infoworld.com/
原文链接:https://www.infoworld.com/article/3186599/artificial-intelligence/the-5-best-programming-languages-for-ai-development.html
入门AI,学习编程。小楼给大家带来五大语言课程推荐:
Python
Java
C/C++
JavaScript
R
更多趣味实验可以直接访问实验楼,在线实验环境操作方便,为大家定期更新最佳实验!(●'◡'●)
课程咨询,欢迎添加班主任微信:
来啊,来shiyanlou.com学IT呀,反正有大把时间~