新浪新闻客户端

又要头秃?2020年七大AI编程语言大盘点

又要头秃?2020年七大AI编程语言大盘点
2020年03月29日 19:48 新浪网 作者 AI科技大本营

  作者 | Claire D

  译者 | 苏本如,编辑 | 伍杏玲

  来源 | CSDN(ID:CSDNnews)

  人工智能已成为我们日常生活不可或缺的一部分,它被广泛地应用到几百种实际场景中,极大地便利人们的工作和生活。

  随着近年来的发展,人工智能促进企业的发展,这该归功于底层编程语言核心的改进。

  随着人工智能的蓬勃发展和编程语言的持续改进,对高效、熟练的程序员和工程师的需求激增。虽然有很多编程语言可以让你在人工智能上开发领域轻松起步,但是没有一种编程语言可以成为人工智能编程的“一站式”解决方案,因为每种编程语言都有自己的独特之处。目的不同,对语言的要求也会不同。

  接下来,我将列出一些最受欢迎的人工智能编程语言,一起看下:

又要头秃?2020年七大AI编程语言大盘点

  Python

又要头秃?2020年七大AI编程语言大盘点

  Python是有史以来最强大的编程语言。——Pau Dubois

  Python诞生于1991年。据一项民意调查显示,超过57%的开发人员更愿意选择Python,而不是C++作为开发人工智能解决方案的编程语言。Python易于学习,为程序员和数据科学家们提供了一个更轻松地进入人工智能开发世界的入口。

  Python是一个关于程序员需要多少自由的实验。太多的自由,会导致没有人能读懂别人的代码;太少的自由,会伤害到语言的表现力。——Guido van Rossum

  使用Python,你不仅可以获得优秀的社区支持和大量的库,还可以享受编程语言提供的灵活性。Python最有可能让你受益的一些特性是:平台独立性和可以用于深度学习和机器学习的广泛框架。

  使用Python编程的乐趣应该是看到简洁、可读性强的类,这些类使用简洁而清晰的代码(而不是一堆无聊至死的琐碎代码)完成了大量的操作。——Guido van Rossum

  下面是一段Python代码的示例:

又要头秃?2020年七大AI编程语言大盘点

  Python代码示例片断

  Python的一些最受欢迎的库,列表如下:

  TensorFlow,用于解决机器学习的工作负载和使用数据集问题。

  scikit-learn,用于培训机器学习模型。

  PyTorch ,用于计算机视觉和自然语言处理。

  Keras,作为高度复杂的数学计算和操作的代码接口。

  SparkMLlib,类似于Apache Spark的机器学习库,使用算法和实用程序等工具使得机器学习对每个人都可以很轻松。

  MXNet,作为Apache的另一个库,用于简化深度学习工作流。

  Theano,作为定义、优化和评估数学表达式的库。

  Pybrain,用于强大的机器学习算法。

  此外,对GitHub存储库贡献的分析结果显示,Python已经超越Java,成为第二大最受欢迎的编程语言。实际上,Stack Overflow认为它是“增长最快”的主流编程语言。

又要头秃?2020年七大AI编程语言大盘点图源:Octoverse

  适合初学者的Python课程:

  3个供初学者学习的免费Python课程:2020版

  https://hackernoon.com/3-free-python-courses-for-beginners-2020-edition-j7c23y3u

  hackernoon.com网站提供的最好的免费Python课程,如果你想扩展你的Python知识,那么请来这里。

  Python训练营:学习Python语言和编码的培训营

  https://www.udemy.com/course/complete-python-bootcamp/?LSNPUBID=JVFxdTr9V80&ranEAID=JVFxdTr9V80&ranMID=39197&ranSiteID=JVFxdTr9V80-lB6TwxSdouentAk36.qjmw

  这是Udemy上学习Python编程语言的最全面、最直接的课程!

  Java

又要头秃?2020年七大AI编程语言大盘点

  一次编写,到处运行。

  Java被认为是世界上最好的编程语言之一,过去20年大伙的使用证明了这一点。

  Java编程语言具有高度的用户友好性、灵活性和平台独立性,它已经以各种方式被用于人工智能的开发当中,以下是一些例子供你了解:

  TensorFlow

  TensorFlow支持的编程语言列表也包括带有API的Java。它对Java的支持不像其他完全支持的语言那样功能丰富,但它已经存在,并且正在以很快的速度得到改进。

  Deep Java Library

  由Amazon构建,使用Java来创建和部署深度学习能力。

  Kubeflow

  Kubeflow用于在Kubernetes上轻松部署和管理机器学习堆栈,提供现成的机器学习解决方案。

  OpenNLP

  Apache的OpenNLP是一个用于自然语言处理的机器学习工具。

  Java机器学习库

  Java ML为开发人员提供了几种机器学习算法。

  Neuroph

  在Neuroph GUI的帮助下,Neuroph使得使用Java开源框架设计神经网络成为可能。

  如果Java有真正的垃圾回收,那么大多数程序在执行完后都会把自己从内存中删除。——Robert Sewell

  Java代码的示例片断如下:

又要头秃?2020年七大AI编程语言大盘点

  Java代码的示例片断

  适合初学者的Java课程:

  供初学者在线学习的五个最好的Java编程课程

  https://javarevisited.blogspot.com/2018/05/top-5-java-courses-for-beginners-to-learn-online.html

  如果你是一名计算机学科的毕业生,或者是想学习Java并寻找一些很棒的资源的人,那么请来这里吧。

  R语言

又要头秃?2020年七大AI编程语言大盘点

  R语言是由Ross Ihaka和Robert Gentleman开发,1995年推出第一个版本。目前它由R开发核心团队维护。R语言是S编程语言(以统计和绘图为目的)的一种实现,它被用来辅助开发统计软件和数据分析。

  R语言被开发人员大量地用于人工智能编程,主是是因为它具有以下两个特点:

  R语言擅长处理大量数据的基本特性,相比带有未经优化的NumPy包的Python语言来说,更有优势。

  使用R语言,你可以以各种编程模式工作,如函数式编程、矢量计算和面向对象编程。

  R语言可供使用的一些AI编程包有:

  Gmodels,提供了用于模型拟合的多个工具的集合。

  Tm,作为一种文本挖掘应用的框架。

  RODBC,作为R语言的ODBC接口。

  OneR,用于实现One Rule机器学习分类算法,适用于机器学习模型。

  R语言因其如下特点/功能,在数据挖掘人员和统计人员中被广泛采用:

  各种各样的库和包,以扩展其功能。

  积极支持的社区。

  能够与C、C++和FORTRAN一起工作

  多个软件包帮助功能扩展。

  支持生成高质量的图形

  一个有趣的R语言应用例子:

  使用R语言制作2019新冠肺炎(Covid-19)交互式地图:

  https://www.r-bloggers.com/covid-19-interactive-map-using-r-with-shiny-leaflet-and-dplyr/

又要头秃?2020年七大AI编程语言大盘点

  使用R语言制作2019新冠肺炎(Covid-19)交互式地图

  Prolog

  Prolog是Programming in Logic(逻辑编程)的简称,Prolog语言最初出现于1972年。它为人工智能开发,特别是自然语言处理提供了一个令人兴奋的工具。Prolog语言最适合创建聊天机器人,ELIZA是用Prolog创建的第一个聊天机器人。

第一个成功的聊天机器人,图源medium

  要理解Prolog,你必须熟悉指导它工作的一些基本术语:

  Facts(事实)定义了真实的声明。

  Rules(规则)定义了有附加条件的声明。

  Goals(目标)定义了根据知识库确定的报表提交的位置。

  Queries(查询)定义如何使你的声明真实,以及如何对事实和规则进行最终分析。

  Prolog提供了两种实现人工智能的方法,这两种方法已经在实践中使用很长时间了,并且在数据科学家和研究人员中广为人知:

  符号方法(Symbolic Approach):包括基于规则的专家系统、定理证明、基于约束的方法。

  统计方法(Statistical approach):包括神经网络、数据挖掘、机器学习等。

  Lisp

又要头秃?2020年七大AI编程语言大盘点

  用来创建一个有着N维输入和M个输出单元的单层感知器的Lisp代码

  Lisp是List Processing的简称,它是仅次于Fortran的第二古老的编程语言。Lisp被称为人工智能的创始之父之一,由约翰·麦卡锡(John McCarthy)于1958年创建。

  Lisp是一种语言,它能让你做到别人告诉你不可能做到的事情。——Kent Pitman

  Lisp作为一种实用的面向数学符号处理的编程语言,它很快成为开发人员的人工智能编程语言的选择。Lisp如下的一些特性,使其成为机器学习人工智能项目的最佳选择之一:

  快速原型创建

  动态对象创建

  垃圾回收

  灵活性

  随着其他与之竞争的编程语言的重大改进,Lisp特有的一些特性也应用到其他语言中。采用了Lisp开发的一些著名项目包括Reddit和HackerNews。

  就Lisp而言,你知道它是世界上最美丽的语言,至少在Haskell出现之前是这样。——Larry Wall

  Haskell

又要头秃?2020年七大AI编程语言大盘点

  Haskell发布于1990年,以著名数学家Haskell Brooks Curry的名字命名,它是一种纯函数式和强静态类型的编程语言,经常和延迟计算和较短的代码搭配使用。

  Haskell被认为是一种非常安全的编程语言,与其他编程语言相比,它在错误处理方面提供了更大的灵活性。在Haskell中很少发生错误。即使它们确实发生了,大多数非语法错误都是在编译阶段,而不是运行时捕获的。Haskell提供的一些功能包括:

  强大的抽象能力

  内置的内存管理

  代码可重用性

  易于理解

  SQL、Lisp和Haskell是我见过的仅有的编程语言,在这些语言中,人们花在思考上的时间比写代码的时间要多。

  Philip Greenspun

  Haskell的特性有助于提高开发人员的工作效率。Haskell与其他编程语言非常相似,只是由一个小众的开发团队使用。抛开这些挑战不谈,Haskell可以证明它与其他竞争语言一样适合人工智能开发,并且越来越多地被开发社区采用。

  Julia

  Julia是一种高性能、通用的动态编程语言,适合创建几乎任何应用程序,尤其非常适合数据分析和计算科学。能够与Julia一起工作的各种工具包括:

  流行的编辑器,如Vim和Emacs。

  集成开发工具,如Juno和Visual Studio。

又要头秃?2020年七大AI编程语言大盘点

  Julia源代码的目录结构

  Julia提供的下列特性,使其在人工智能编程、机器学习、统计和数据建模中成为一个不可或缺的选项:

  动态类型系统

  内置的包管理器

  能够进行并行和分布式计算

  宏和元编程能力

  支持多个调度

  对C语言函数的直接支持

  Julia是为消除其他编程语言的弱点而构建的,它可以与TensorFlow.jl、MLBase.jl、MXNet.jl等工具集成,用于开发机器学习应用程序,这些工具充分利用了Julia提供的可伸缩性。

  Google Trend – Julia的用户数随时间变化图:

又要头秃?2020年七大AI编程语言大盘点图源:Google trends
又要头秃?2020年七大AI编程语言大盘点

  2019Julia开发大会的介绍视频:https://www.youtube.com/user/JuliaLanguage

  有了以上几种人工智能编程语言可供选择,人工智能工程师和科学家们可以选择适合他们项目需要的语言。每一种人工智能编程语言都有各自的优缺点。

  随着这些语言的不断改进,很快人工智能的开发就会变得比现在更加轻松和高效,更多人就可以加入到这股创新浪潮中来。好的社区支持使得新人们的生活更加美好,社区对扩展计划的贡献使每个人的编程工作生活更加轻松。

特别声明:以上文章内容仅代表作者本人观点,不代表新浪网观点或立场。如有关于作品内容、版权或其它问题请于作品发表后的30日内与新浪网联系。
编程语言R语言
权利保护声明页/Notice to Right Holders

举报邮箱:jubao@vip.sina.com

Copyright © 1996-2024 SINA Corporation

All Rights Reserved 新浪公司 版权所有