准备学习AI的你,知不知道选择哪种编程语言合适呢?以下列举的五种编程语言,被认为是最适合用来学习AI。大家可以参考一下。

1. PYTHON
第一名毫无疑问是 Python。尽管 Python 有些特性令人不爽(whitespace、Python 2.x 和 Python 3.x 之间的巨大差异、五种不同的包机制都在不同程度上有缺陷)但如果你正在从事 AI 工作,你几乎肯定会在某些时候用到 Python。

Python 中可用库的数量是其他语言所无法企及的。NumPy 已经变得如此普遍,以至于几乎成为了张量运算的标准 API,Pandas 将 R 的强大而灵活的数据帧带入 Python。对于自然语言处理(NLP),您可以使用久负盛名的 NLTK 和快如闪电的 SpaCy。对于机器学习,有经过实战检验的 Scikit-learn。当谈到深度学习时,当前所有的库(TensorFlow,PyTorch,Chainer,Apache MXNet,Theano 等)都是在 Python 上首先实现的项目。

(在LiveEdu上,一位德国的AI开发者教大家如何使用Python开发两个简单的机器学习模型)

Python 是人工智能研究的前沿语言,这是拥有最多机器学习和深度学习框架的语言,也是 AI 研究者几乎都掌握的语言。由于这些原因,尽管笔者每天都要咒骂一次 whitespace 问题,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 在 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 开发,究竟哪种语言强?》

五大最适合学习AI开发的编程语言, 你喜欢的语言上榜了吗?相关推荐

  1. 怎么判断适合学java_如何知道自己是否适合学习java开发

    有时候,我们都会对自己的未来进行短期和长期的规划,以期可以实现自己曾经定下来的目标.而对于一些对编程语言非常感兴趣的人来说,怎样选择一门适合自己的编程语言是最为重要的.相信程序员们对于编程语言一定不会 ...

  2. 女孩子适合学习前端开发吗?

    现在随着前端开发市场领域越来越广了,需求和待遇也在不断提升.很多人都开想学习前端开发入行到软件开发行业来. 最近有很多人在网上问,女生逻辑思维没有男生好,适不适合学习前端开发啊?学习前端开发好就业吗? ...

  3. 什么人适合学习嵌入式开发?

    近些年,随着智能硬件的火热,嵌入式开发逐渐成为IT行业从业者择业的新宠儿.然而大家都知道,嵌入式开发是一个高门槛行业,并不是所有人都适合从事这项工作.这也是为什么经常有网友咨询:到底什么专业的人适合学 ...

  4. 哪些人适合学习嵌入式开发

    随着计算机嵌入式领域的不断发展,嵌入式系统无疑是当前最热门最有发展前途的IT应用领域之一.那么到底哪些人适合学习嵌入式开发呢?下面尚观教育小编来跟大家聊一聊. 嵌入式系统是软硬结合的东西,搞嵌入式开发 ...

  5. 2020年6月编程语言排行榜:C语言蝉联榜单第一

    IOBE公布了6月份编程语言排行榜. C语言蝉联榜单第一,随后分别是Java.Python.C++.C#.前20名排行如下: 5月份的时候,C就已经超越Java了,登上第一的宝座,为了重回第一,C语言 ...

  6. 你真的适合学习JAVA开发吗?

    JAVA为什么有前途? 过去的十多年,JAVA基本每年都是全世界使用人数第一的语言.全世界数百万的IT企业构建了庞大的JAVA生态圈,大量的软件基于JAVA开发. JAVA也被誉为"计算机界 ...

  7. 什么样的人适合学习嵌入式开发

    未来的几年,随着信息化,智能化,网络化的发展,嵌入式系统技术也将获得广阔的发展空间. 手机.电子字典.可视电话.数字相机(DC).数字摄像机(DV).U-Disk.机顶盒(Set Top Box).高 ...

  8. 这3类人,可能不适合学习编程开发?

    开篇时,小编想问下大家,开发到底难不难?可能很多人都觉得开发挺难的,确实如此,在入门学习之初,建立开发思维的时候,是有些难度的.毕竟,在切入一个全新行业的时候,不付出百分百的努力,都会觉得难以坚持学下 ...

  9. 首个深度强化学习AI,能控制核聚变,成功登上《Nature》

    编译 | 禾木木 出品 | AI科技大本营(ID:rgznai100) 最近,DeepMind 开发出了世界上第一个深度强化学习 AI ,可以在模拟环境和真正的核聚变装置中实现对等离子体的自主控制. ...

最新文章

  1. JS中window.document对象
  2. ubuntu18.04 实现中文化 中文输入法
  3. 8张图让你一步步看清 async/await 和 promise 的执行顺序
  4. DOS配合FastCopy实现远程增量备份
  5. linux7开放3306端口,CentOS 7 开放3306端口访问
  6. EV3 直接命令 - 第 2 课 让你的 EV3 做点什么
  7. 手动实现Spring中的IOC容器
  8. SAP ABAP DDICSAP ABAP DDIC table runtime object table runtime object
  9. Java关于Properties用法的总结(一)
  10. Spring Cloud构建微服务架构:消息驱动的微服务(核心概念)【Dalston版】
  11. 腾讯竟然是这样存储你的数据的!!!
  12. C/C++的转义字符
  13. 互联网产品经理好书推荐
  14. 全志F1C100s使用记录:u-boot linux rootfs 编译与烧录测试(基于SD卡)
  15. ucore Lab1 系统软件启动过程
  16. compositionstart、compositionend事件屏蔽拼音状态
  17. ftp服务器 文件权限,ftp服务器 文件权限设置
  18. 多少开发人员 饿了么_开发个类似饿了么外卖app要多少钱
  19. 2023款ThinkBook 14和15锐龙版区别对比评测选哪个好
  20. Django应用容器封装DockerFile分享

热门文章

  1. Mysql初级第一天(wangyun)
  2. 2016年上半年上午系统集成项目管理工程师考试试题
  3. python画出优美的等高线图
  4. keil 5与proteus8.9仿真实现四路抢答计分器
  5. 搭建美图(贴纸,涂鸦,文字,滤镜)
  6. 砂石过滤器的工作原理及操作说明
  7. 有内味儿了,东北话做编程语言,好使、招人稀罕
  8. ubuntu 强制卸载vmware player
  9. freeswitch带媒体压力测试方案
  10. Discrete-time systems(离散时间系统)