你应该学习哪种编程语言来探索AI的深度?当然,你会需要一个拥有许多优秀机器学习和深度学习库的语言。它还应具有良好的运行时性能,良好的工具支持,大量程序员社区以及健康的支持包生态系统。这仍然留下了很多不错的选择。

下面是我选择AI开发的五种最佳编程语言。其中一些语言正在兴起,而其他语言似乎正在滑落。几个月后回来,你可能会发现这些排名已经发生了变化。

1. Python

第一,它是Python。它怎么可能是其他的,真的吗?尽管有令人生气的关于Python的东西 - 空格,Python 2.x和Python 3.x之间的巨大差异,五种不同的打包系统都以不同的方式打破了 - 如果你正在做AI工作,你几乎肯定会在某些时候使用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。

没有绕过它。Python是人工智能研究的前沿语言,这是您可以找到机器学习和深度学习框架最多的语言,也是人工智能领域几乎所有人都会说的语言。由于这些原因,尽管您的作者每天至少诅咒一次空白问题,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是实现生产性能而不会造成安全性问题的最佳选择。并且TensorFlow绑定已经可用。

4. JavaScript

JavaScript的?究竟是怎么回事?那么,谷歌最近发布了TensorFlow.js,这是一个WebGL加速库,允许您在Web浏览器中训练和运行机器学习模型。它还包括Keras API以及加载和使用在常规TensorFlow中训练过的模型的功能。这可能会吸引大量开发人员涌入AI领域。虽然JavaScript目前对机器学习库的访问权限与此处列出的其他语言不同,但很快开发人员将在他们的网页中添加神经网络,与添加React组件或CSS属性几乎相同。同时授权和恐吓。

TensorFlow.js仍处于早期阶段。目前它在浏览器中工作,但不在Node.js中。它还没有实现完整的TensorFlow API。不过,我预计到2018年底,这两个问题都将基本得到解决,并且AI的JavaScript入侵将在此后不久进行。

5. R

R进入前五名的底部,并且趋向下行。R是数据科学家喜欢的语言。但是,其他程序员发现R在第一次遇到它时感到有些困惑,因为它采用了以数据框架为中心的方法。如果您有一组专门的R开发人员,那么使用与TensorFlow,Keras或H2O进行研究,原型设计和实验的集成是有意义的,但是我不愿推荐R用于生产用途。

其他AI编程选项

当然,Python,Java,C / C ++,JavaScript和R并不是AI编程唯一可用的语言。让我们看看三种编程语言,它们并没有完全进入我们前五名的上升和下降。

LUA

几年前,Lua在人工智能领域处于领先地位。借助Torch框架,Lua是深度学习开发中最受欢迎的语言之一,您仍然会在GitHub上遇到许多历史深入的学习工作,这些工作通过Lua / Torch定义了模型。我认为,为了研究和查看人们以前的工作,熟悉Lua是个好主意。但随着TensorFlow和PyTorch等框架的到来,Lua的使用大幅下降。

小程序开发语言python_小程序是用什么语言开发的?5种最佳语言分享相关推荐

  1. 程序员鄙视链python_关于程序员之间的鄙视链

    原标题:关于程序员之间的鄙视链 程序员最幽默(ID:humor1024)整编 素材参考自:网络 鄙视像条食物链, 是个绕不开的怪圈. 在这个怪圈中,每一个人, 都在链条的最末端. 朋友圈有鄙视链, 相 ...

  2. 游戏开发 unity3d python_游戏研发系列 Unity3D/2D游戏开发从0到1 第2版.pdf

    作 者 :刘国柱著 出版发行 : 北京:电子工业出版社 , 2018.01 ISBN号 :978-7-121-33499-3 页 数 : 507 丛书名 : 游戏研发系列 原书定价 : 99.00 开 ...

  3. 小程序开发语言python_微信小程序是用什么语言开发的呢

    原标题:微信小程序是用什么语言开发的呢 说到微信小程序可能大部分只是一知半解,您是否清楚小程序是用什么来开发的?如果您不太清楚,那么多美源小程序小编来告诉您小程序开的具体. 微信小程序是什么语言开发的 ...

  4. 开发语音录入_语言翻译小程序app开发 解决了人们的语言障碍问题

    随着经济的发展,人们经济水平的提高,促进了国际交流越来越频繁,人们出国的次数也是越来越多.但是语言交流也是日常的障碍,给诸多的人带来不便.出国旅游要是语言不通还会影响旅游质量.语言翻译小程序的开发,便 ...

  5. 用python语言写小程序_小程序用什么语言开发?python语言开发可以开发吗?

    时间: 2020-01-04 20:16:44 本次介绍小程序用什么语言开发?python语言开发可以开发吗?小程序开发语言前端三件套:1.WXML文件2.WXSS文件3.JS文件 小程序是什么?通俗 ...

  6. 王思聪吃热狗的c语言小程序,王思聪吃热狗火了,开发各种恶搞小程序!王校长:我不要面子的啊...

    原标题:王思聪吃热狗火了,开发各种恶搞小程序!王校长:我不要面子的啊 近日王校长上了不少次热搜,其中有一条就是王校长吃热狗火了,接下来就出现了各种各样的表情包,手机壳,素描等等.其实这些还不是最火爆的 ...

  7. c语言做简单的水果店程序,怎么开发一款生鲜水果小程序?水果店+小程序该如何组合运营?...

    门店客流少,租金和人工成本不断上涨,仅靠线下门店获取客户,实在是难以生存. 对于线下的生鲜水果店,竞争也是非常激烈,接下来,我们针对生鲜行业如何搭建小程序和如何运营做实操讲述. 怎么开发一款生鲜水果小 ...

  8. python能开发小程序吗_搭建小程序用Python语言可以搭建吗?

    原标题:搭建小程序用Python语言可以搭建吗? 正如我们在学习语言编程的过程中能发现各种逻辑规律的奥妙无穷那样,当我们能掌握一种语言编程方式之后,逐渐地也能深刻地感受到如今在小程序编写上还能有着怎样 ...

  9. api 定位 微信小程序 精度_微信小程序开发知识点集锦

    一 小程序的生命周期 代码生命周期就是一个对象的生老病死,通常指程序从创建.开始.暂停.唤起.停止.卸载的过程.小程序的生命周期又可分为应用生命周期和页面的生命周期,先单独分析,在结合两者分析 应用生 ...

最新文章

  1. WCF配置文件全攻略
  2. Leetcode题库 762.二进制表示中质数个计算置位(哈希数组 C实现)
  3. [hls]m3u8视频如何处理成加密?
  4. 记录某对比软件注册 版本4
  5. linux 子域dns,linux下搭建DNS子域及相关授权详解
  6. CodeForces 931C Laboratory Work 水题,构造
  7. python中html.replace()_HTML DOM replace() 方法
  8. MATLAB常用日期和时间函数
  9. Checkstyle的配置集
  10. wince 开发_正运动技术运动控制卡应用开发教程之Python
  11. oracle 混合分区表,Oracle 19C Hybrid partitioned tables混合分区表
  12. 计算机形导论形考作业答案,计算机导论形考
  13. 【数学建模】数学建模论文写作
  14. SPSS Statistics 分位数回归 翻译文档
  15. python樱桃小丸子_appium+python自动化启动app
  16. H.264再学习 -- 目前主流的几种数字视频压缩编解码标准(转载)
  17. .net 5+ 知新:【2】 .Net Framework 、.Net 、 .NET Standard的概念与区别
  18. Linux常用指令学习(篇一):文件处理指令
  19. MySQL给查询结果添加序号列的书写格式
  20. php导入表格 出错,PHPExcel导入数据出现问题

热门文章

  1. Android 带阴影背景图片
  2. Android 简单几行代码实现摇一摇功能
  3. Minimum supported Gradle version is 4.1. Current version is 4.0.
  4. eslint airbnb 不允许尾随逗号
  5. process.cwd __dirname __filename 区别
  6. java获取keyvault_ARM Template 结合key vault存储机密信息 (一)
  7. openfeign 负载均衡调用服务
  8. Java日期格式化SimpleDateFormat
  9. c/s和b/s两种开发模式
  10. (JAVA)多线程之wait()与notify()