查看原文
其他

书单丨盘点5种最适合AI开发的编程语言

张涛 编译 博文视点Broadview 2020-10-17

转自 | AI科技大本营


AI系统的开发必须有计算机代码,而计算机程序的开发有不同类型的编程语言可以选择。本文分析哪些编程语言最适合你的人工智能或机器学习用例开发。

文中给出了一个想要在人工智能行业成功所需的5种编程语言的简单列表。针对给定的人工智能或机器学习项目,每种语言都有相应的优势和缺点,所以在选择开发语言前要考虑最终的目标。

这5个最适合人工智能行业的编程语言是:
  • Python

  • R

  • Java

  • Scala

  • Rust




01  Python


Python是人工智能行业最主流的编程语言,因为python具有易于学习的语法、大量的库和框架、对众多AI算法的动态适用性、而且相对容易编写。

Python支持面向功能、面向对象和面向过程的开发方式。此外,大量开放社区还在帮助python语言处在计算机科学行业的前沿。

与其他编程语言相比,python的缺点包括是运行速度慢、面向移动设备的编码功能较差、不利于处理内存密集型任务。


—— 相关图书推荐 ——

《疯狂Python讲义》

李刚 编著


  • 从零开始,Python编程入门到实践一网打尽

  • 覆盖的知识面广,知识体系完备、系统

本书既是一本适合初学者入门Python的图书(一个8岁的小朋友在未出版前已学习了本书很多章节并动手写出了自己的程序);这也是一本适合Python就业的图书,因为本书涵盖了网络编程、数据分析、网络爬虫等大量企业实用的知识。本书为所有打算深入掌握Python编程的读者而编写,适合各种层次的Python学习者和工作者阅读,也适合作为大学教育、培训机构的Python教材。

获取本书详情




扫码获取学院好课《每天5分钟:Python基础视频教程》



02  R语言


R是另一个机器学习编程语言。R语言最常用于数据分析、大数据建模和数据可视化。R语言包含多个包设置和大量的材料,使得其非常适合处理数据为中心的任务。

R语言的缺点包括大量使用内存、缺乏基本安全功能(无法嵌入web应用中)、和基于古老的S编程语言。


—— 相关图书推荐 ——

《R语言数据可视化之美:专业图表绘制指南(增强版)》

张杰 著


  • R语言基础知识及各种图表的应用实践

  • 基于R快速生成约200张二维/三维图表

本书以R语言为背景,通俗易懂地讲述了大量数据可视化领域的专业知识,从图形语法、色彩原理、视觉通道到各类图表的应用实践。新版中增加了多种地理空间型图表,以及层次关系型图表、网络关系型图表。

获取本书详情




03  Java


Java是一种面向对象的编程语言,优势包括可以与搜索算法(搜索算法是能够有效支持大规模项目的简化框架)很好地结合、易于调试代码等。此外,Java也有完善的社区支持和大量的开源库。

与其他语言相比,Java的缺点包括性能不佳;由于运行在Java虚拟机之上,因此内存使用效率低下。以上两个缺点会导致硬件成本增加。


—— 相关图书推荐 ——

《疯狂Java讲义(第5版)》

李刚 编著


  • 基于稳定大版本Java 11升级

  • 10年原创经典,影响数十万读者

本书深入介绍了Java编程的相关方面,《疯狂Java讲义》历时十年沉淀,经过无数Java学习者的反复验证,被包括北京大学在内的大量985、211高校的优秀教师引荐为参考资料、选作教材。

赠送1700分钟课程讲解视频、源代码、电子书、课件、面试题,提供作者亲自在线的微信+QQ答疑群+配套学习交流网站。

获取本书详情




扫码获取学院好课

《跟着李刚老师学Java》



04  Scala


Scala是一个可扩展的编程语言,可以处理大量大数据。Scala支持支持面向对象和函数式编程的风格。由于其简洁的代码风格,Scala比其他语言更具可读性和易于编写。

Scala语言的速度和性能使得其非常适合机器学习和AI模型,并具有相对无差错的编码,在必要时容于进行调试。

Scala的不足包括所有面向对象和函数式编程的缺点。因为该语言融合了多种编程风格,因此使得理解类型信息更加困难。此外,切换回面向对象样式的选项也可能被视为弊端,因为在编写代码时不会在功能上进行思考。


—— 相关图书推荐 ——

《Scala编程(第3版)》

【德】Martin Odersky 等 著

高宇翔 译


  • Scala之父扛鼎巨著

  • 来自语言设计者的精准、深邃、完整教程

本书由直接参与Scala开发的一线人员编写,因而对原理的解读和应用的把握更加值得信赖。本书面向具有一定编程经验的开发者,目标是让读者能够全面了解和掌握Scala编程语言的核心特性,并能够深入理解Scala这门语言在设计取舍背后的动因。即便是不直接使用Scala或从事一线编程工作的读者,也能从本书学到大量关于函数式和面向对象的编程概念和技巧。

获取本书详情


05  Rust


Rust是系统级的编程语言。创建该语言的目的是编写“安全”代码,也就是说对象是由程序本身管理的。这样程序员就无需进行指针计算或独立管理内存。使用的内存较少一般会使代码更简洁,因此可能更易于编程。

比其他语言相比,Rust语言的缺点包括编译器更慢、没有垃圾回收机制、开发速度慢(与python对比)。

—— 相关图书推荐 ——

《Rust编程之道》

张汉东 著


  • Rust官方核心成员作序力荐

  • 基于Rust2018大版本

从设计哲学、源码分析、工程视角、底层原理多个维度,对Rust语言进行系统化梳理,帮助读者理清知识脉络,降低学习曲线。本书附有随书源码,配套运行,方便读者在实践中巩固理论知识,熟悉Rust在生产环境中的应用,避免纸上谈兵的尴尬。

获取本书详情





博文视点学院1元好课推荐

知识图谱是实现机器认知智能的基础,也是一门应用广泛的工程学科。其具体方法大都来自计算机或人工智能的其他领域,比如自然语言处理、机器学习、知识工程等。面对如此庞杂的知识,应该如何着手学习?

现在扫描下方二维码,仅需1元!《知识图谱:概念与技术》一书作者之一、复旦大学大数据学院与大数据研究院副院长阳德青老师,将为你带来一堂入门课。

(扫码报名)



不想报名也没有关系
添加下方小橘子微信,回复“免费
20+门精品课程免费等你拿

假期不停学,弯道好超车




如果喜欢本文
欢迎 在看留言分享至朋友圈 三连


  热文推荐  





    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存