AI( 人工智能 )为应用程序开发人员开辟了无限的可能性。 通过利用机器学习或深度学习,您可以产生更好的用户配置文件,个性化设置和推荐,或者合并更智能的搜索,语音界面或智能帮助,或者以任何其他方式改进您的应用程序。 您甚至可以构建可以看到,听到和应对意外情况的应用程序。

您应该学习哪种编程语言来深入了解AI? 当然,您需要一门具有许多良好的机器学习和深度学习库的语言。 它还应具有良好的运行时性能,良好的工具支持,大量的程序员社区以及健康的支持包生态系统。 这是一长串的要求,但是仍然有很多不错的选择。

[ 也在InfoWorld上:人工智能,机器学习和深度学习:您需要知道的一切 ]

以下是我精选的六种用于AI开发的最佳编程语言,以及两个荣誉奖。 这些语言中的一些正在上升,而另一些正在下滑。 还有其他一些您只需要知道是否对历史深度学习架构和应用感兴趣。 让我们看看它们如何堆叠。

Python

排名第一的仍然是Python。 真的会是什么呢? 尽管关于Python的事情令人发疯,但如果您从事AI工作,几乎可以肯定的是,您将在某个时候使用Python。 而且一些粗糙的斑点已经稍微平滑了。

随着2020年的到来,Python 2.x与Python 3.x的争论变得越来越重要,因为几乎每个主要的库都支持Python 3.x,并尽可能地放弃对Python 2.x的支持。 换句话说,您终于可以认真使用所有新的语言功能。

尽管仍然存在Python的打包梦night(其中每个解决方案都以略有不同的方式打破),但您可以在大约95%的时间内使用Anaconda,而不必担心太多事情。 不过,如果Python世界能够一劳永逸地解决这个长期存在的问题,那将是很好的。

也就是说,Python中可用的数学和统计资料库在其他语言中几乎是无与伦比的。 NumPy已经变得无处不在,几乎成为张量操作的标准API,而Pandas将R强大而灵活的数据帧带入了Python。 对于自然语言处理(NLP),您拥有着名的NLTK和快速的SpaCy 。 对于机器学习,有经过实践检验的Scikit-learn 。 而且,当涉及到深学习,目前所有的库(的TensorFlow , PyTorch , Chainer , 阿帕奇MXNet , Theano等)是有效的Python的第一个项目。

如果您正在阅读关于arXiv的前沿深度学习研究,那么您会发现大多数提供源代码的研究都是使用Python进行的。 然后是Python生态系统的其他部分。 尽管IPython成为Jupyter Notebook ,而不再以Python为中心,但您仍然会发现大多数Jupyter Notebook用户和大多数在线共享的笔记本都使用Python。 至于部署模型,诸如Seldon Core之类的微服务架构和技术的出现意味着如今在生产环境中部署Python模型非常容易。

[ 同样在InfoWorld上:为什么应该使用Python进行机器学习 ]

没有解决的办法。 Python是AI研究的最前沿语言,是您会找到最多的机器学习和深度学习框架的语言,并且AI世界中几乎每个人都在谈论这种语言。 由于这些原因,尽管您的作者每天至少处理一次空白问题,但Python还是AI编程语言中的第一名。

相关视频:机器学习和AI破译

通过围绕机器学习和人工智能的炒作,我们的小组讨论了该技术的定义和含义。

C ++

在开发AI应用程序时,C ++不太可能是您的首选,但是当您需要从系统中获取性能的最后每一点时-随着深度学习的发展,这种情况变得越来越普遍,您需要在模型上运行资源受限的系统-是时候再次回到可怕的指针世界了。

幸运的是,现代C ++可以令人愉快地编写(诚实!)。 您可以选择一种方法。 您可以使用Nvidia的CUDA之类的库来深入研究堆栈的底部,以编写直接在GPU上运行的自己的代码,也可以使用TensorFlow或PyTorch来访问灵活的高级API。 PyTorch和TensorFlow都允许您加载在Python(或PyTorch的Python的TorchScript子集)中生成的模型,并在C ++运行时中直接运行它们,从而使您更接近裸机进行生产,同时保留了开发的灵活性。

简而言之,随着AI应用程序在从最小的嵌入式系统到庞大的集群的所有设备中激增,C ++成为工具包的关键部分。 边缘的AI意味着它已经不够精确了。 你需要又好又快

[ 同样在InfoWorld上:为什么C编程语言仍会统治 ]

Java和其他JVM语言

JVM语言家族(Java,Scala,Kotlin,Clojure等)仍然是AI应用程序开发的理想选择。 无论是自然语言处理( CoreNLP ),张量运算( ND4J )还是完整的GPU加速的深度学习堆栈( DL4J ),您都可以在管道的所有部分使用大量的库。 另外,您可以轻松访问大数据平台,例如Apache Spark和Apache Hadoop 。

Java是大多数企业的通用语言,并且在Java 8和更高版本中提供了新的语言构造,因此编写Java代码并不是我们许多人都记得的令人讨厌的经历。 用Java编写AI应用程序可能会感到无聊,但可以完成工作-您可以使用所有现有的Java基础结构进行开发,部署和监视。

JavaScript

您不太可能只为编写AI应用程序而学习JavaScript ,但是Google的TensorFlow.js仍在不断改进,并提供了一种有趣的方式来将Keras和TensorFlow模型部署到浏览器或通过使用WebGL进行GPU加速计算的Node.js部署。

但是,自TensorFlow.js推出以来,我们还没有真正看到的一件事是,大量JavaScript开发人员涌入AI领域。 我认为这可能是由于与JavaScript之类的语言相比,周围JavaScript生态系统没有可用库的深度。

此外,在服务器端,与使用Python选项之一相比,使用Node.js部署模型并没有太多优势,因此我们可能会发现基于JavaScript的AI应用程序在不久的将来仍将主要基于浏览器。 但这仍然创造了许多有趣的机会,例如Emoji Scavenger Hunt 。

Swift

在去年的这篇文章中,我提到Swift是一种值得关注的语言。 今年,它进入了我的前六名。 发生了什么? Swift为TensorFlow 。 TensorFlow的最新功能和最强大功能的完全类型化,无残障的绑定,以及使您可以像刚开始使用Python一样导入Python库的黑暗魔术。

Fastai团队正在开发其流行库的Swift版本,并且我们承诺通过将许多张量智能移至LLVM编译器,在生成和运行模型方面进行许多进一步的优化。 现在可以生产了吗? 并非如此,但这确实可以为下一代深度学习开发指明道路,因此您绝对应该研究Swift的发展。

R语言

R在我们列表的底部,并且呈下降趋势。 R是数据科学家喜欢的语言。 但是,由于以数据帧为中心的方法,其他程序员经常发现R有点混乱。 如果您有专门的R开发人员小组,则可以将与TensorFlow , Keras或H2O的集成用于研究,原型开发和实验,但是由于以下原因,我不建议将R用于生产或绿地开发性能和运营问题。 尽管您可以编写可以部署在生产服务器上的高性能R代码,但是几乎可以肯定,采用R原型并用Java或Python重新编码它会更加容易。

[ 通过InfoWorld Daily新闻通讯了解软件开发,云计算,数据分析和机器学习方面的最新发展 ]

其他AI编程选项

当然,Python,C ++,Java,JavaScript,Swift和R不是唯一可用于AI编程的语言。 尽管我不认为这是学习的重中之重,但您可能还会发现另外两种编程语言有趣或有帮助。

a

几年前,由于Torch框架, Lua在人工智能领域处于很高的地位, Torch框架是满足研究和生产需求的最受欢迎的机器学习库之一。 如果您深入研究深度学习模型的历史,则经常会在旧的GitHub存储库中找到对Torch和大量Lua源代码的大量引用。

为此,掌握Torch API的实用知识可能会很有用,与PyTorch的基本API相距不远。 但是,如果像我们大多数人一样,您真的不需要为您的应用程序做大量的历史研究,则可能不必绕着Lua的小怪癖就可以解决问题。

朱莉亚

Julia是一种专注于数值计算的高性能编程语言,非常适合大量使用AI的数学世界。 尽管目前还不是所有语言都流行,但诸如TensorFlow.jl和Mocha (受Caffe影响很大)的包装器提供了良好的深度学习支持。 如果您不介意相对较小的生态系统,并且想从Julia致力于轻松高效地执行高性能计算中受益,那么Julia可能值得一看。

From: https://www.infoworld.com/article/3186599/6-best-programming-languages-for-ai-development.html

用于AI开发的6种最佳编程语言相关推荐

  1. 人工智能ai用什么编程语言_用于AI开发的6种最佳编程语言

    人工智能ai用什么编程语言 AI( 人工智能 )为应用程序开发人员开辟了无限的可能性. 通过利用机器学习或深度学习,您可以产生更好的用户配置文件,个性化设置和推荐,或者合并更智能的搜索,语音界面或智能 ...

  2. AI(6)---AI开发选择哪种编程语言?

    AI开发选择哪种编程语言? 如果您是新手AI开发人员,您可能很难选择用于开发AI的编程语言.虽然有很多可用的编程语言,但我会将注意力集中在Python和R.我将确保列出各种语言的优缺点,以帮助您选择最 ...

  3. 人工智能ai用什么编程语言_2020年人工智能的5种最佳编程语言

    人工智能ai用什么编程语言 如今,人们期望AI程序员掌握多种语言,因为它们是在跨学科环境中而不是在孤岛中工作. 该列表为Python,R,Java,Lisp,Prolog,Julia等. 尽管当前这一 ...

  4. python是不是现在主流的人工智能编程语言_2020年人工智能的5种最佳编程语言

    如今,人们期望AI程序员掌握多种语言,因为它们是在跨学科环境中而不是在孤岛中工作.清单上列出了Python,R,Java,Lisp,Prolog,Julia等. 尽管当前这一代人更喜欢Python,但 ...

  5. 网络安全用什么编程语言_网络安全的5种最佳编程语言

    网络安全用什么编程语言 要成为网络安全专家,要取得成功,需要多种技能. 全方位的专业人员可以放心地实施和监视安全措施,以保护计算机系统免受攻击和未经授权的访问. 总部位于巴西的Python专家Henr ...

  6. python与人工智能编程-最适合人工智能开发的5种编程语言,Python排第一

    原标题:最适合人工智能开发的5种编程语言,Python排第一 文章转载自超图集团,版权归原作者和刊载媒体所有. 近年来,人工智能(AI)正在不断释放科技革命和产业变革积蓄的巨大能量,深刻改变着人类生产 ...

  7. 游戏开发的最佳编程语言及免费引擎推荐

    游戏至今仍然是人们重要的娱乐方式之一,那么哪种编程语言最适合游戏开发呢?这取决于要开发的游戏类型.例如,如果你想开发一个2D平台游戏,Lua脚本和JavaScript这样的语言比较方便.但是,如果想要 ...

  8. 最佳编程语言_2020年最佳职业和未来编程语言

    最佳编程语言 It is very difficult to choose the best programming language for jobs today and for the futur ...

  9. 第一百三十期:14种常见编程语言的优缺点及应用范围

    C语言是一门通用计算机编程语言,应用广泛.面向过程的,数据与算法分开.它的重点在于算法和数据结构.1972年由美国贝尔实验室在B语言的基础上设计出. 作者:编程小新 C 概述:C语言是一门通用计算机编 ...

最新文章

  1. mysql的基本知识
  2. Cissp-【第5章 身份与访问管理】-2021-3-14(601页-660页)
  3. oracle中的listener.ora和tnsnames.ora
  4. 年中总结(2013年3月到2013年9月)
  5. PHP判断文章是否有图片,利用PHP判断文件是否为图片的方法总结
  6. 扎哈遗作:北京大兴机场,耗资800亿,被英国《卫报》评为新世界七大奇迹!...
  7. dropbox免费容量_免费课程:使用ES6和Dropbox构建费用管理器
  8. apb外设怎么分配地址
  9. 玩了10小时赛博朋克2077,我觉得很失望
  10. 苹果硬件技术高级副总裁揭露:自研 M1 太难了
  11. 快速崛起的物联网世界安全问题
  12. iOS archive(归档)的总结 (序列化和反序列化,持久化到文件)
  13. Netty 长连接服务
  14. java判断邮箱格式
  15. RocketMQ集群(2主2从)搭建详细步骤
  16. REST Assured 2 - 用IDEA创建一个基本的REST Assured Maven项目
  17. Google Earth Engine(GEE)对比显示不同城市的地表温度
  18. 在python中使用ggplot2
  19. 移动端h5不支持font-family里面的微软雅黑等等字体
  20. jquery中的ready方法和window的onload方法的区别

热门文章

  1. 以太坊 什么是以太坊
  2. 备考书籍推荐|PMI-ACP®敏捷管理开发
  3. 拓嘉辰丰:拼多多能不能多件合并付款?
  4. Button、ImageButton、EditText、CheckBox、ToggleButton、RadioButton和Radio
  5. 接口响应慢处理总结(Java)
  6. SPIN销售模式【学习笔记】
  7. YELP NLP 文本信息提取项目
  8. navigateTo:fail can not navigateTo a tabbar page微信小程序跳转
  9. 《仙剑奇侠传三》游戏分析
  10. 招商银行一面记录——Java岗