首页 AI开发编程 又秃头了? 2020年排名前七的AI编程语言盘点

又秃头了? 2020年排名前七的AI编程语言盘点

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

本文讨论人工智能编程的顶级编程语言。 AI工程师和相关从业者可以选择适合自己项目需求的语言。你选哪一个?

作者|克莱尔·D

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

标题图片|视觉中国

出品| CSDN(ID:CSDNnews)

以下为译文:

人工智能已经成为我们日常生活中不可或缺的一部分。已广泛应用于数百种实际场景,极大方便了人们的工作和生活。

近年来的发展,人工智能推动了企业的发展,这可以归功于底层编程语言核心的完善。

随着人工智能的蓬勃发展和编程语言的不断改进,对高效、熟练的程序员和工程师的需求激增。虽然有很多编程语言可以让AI开发领域轻松上手,但没有一种编程语言能够成为AI编程的“一站式”解决方案,因为每种编程语言都有其独特的特点。不同的目的有不同的语言要求。

接下来我会列出一些最流行的人工智能编程语言,我们来看看:

Python

Python 是有史以来最强大的编程语言。 ——保罗·杜布瓦

Python诞生于1991年。根据一项民意调查,超过57%的开发者更喜欢Python而不是C++作为开发人工智能解决方案的编程语言。 Python简单易学,为程序员和数据科学家提供了更轻松地进入人工智能开发世界的途径。

Python 是一个关于程序员需要多少自由的实验。太多的自由会导致没有人能够阅读别人的代码;自由度太小会损害语言的表现力。 ——吉多·范·罗森

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

Python 编程的乐趣应该是看到简洁、可读的类,它们用简洁、清晰的代码做很多事情(而不是一堆无聊死了的琐碎代码)。 ——吉多·范·罗森

下面是Python 代码的示例:

Python 代码示例片段

一些最流行的Python 库,列表如下:

TensorFlow,用于解决机器学习工作负载和处理数据集。 scikit-learn,用于训练机器学习模型。 PyTorch,用于计算机视觉和自然语言处理。 Keras,作为高度复杂的数学计算和运算的代码接口。 SparkMLlib 是一个类似于Apache Spark 的机器学习库,它使用算法和实用程序等工具让每个人都能轻松进行机器学习。 MXNet 作为Apache 的另一个库,用于简化深度学习工作流程。 Theano,作为定义、优化和评估数学表达式的库。 Pybrain,用于强大的机器学习算法。此外,对GitHub 存储库的贡献分析表明,Python 已超越Java 成为第二流行的编程语言。事实上,Stack Overflow 认为它是“增长最快”的主流编程语言。

来源:Octoverse

适合初学者的Python 课程:

3 个针对初学者的免费Python 课程:2020 年版https://hackernoon.com/3-free-python-courses-for-beginners-2020-edition-j7c23y3uhackernoon.com 如果您想扩展您的Python 知识,请来这里最好的免费Python 课程。

Python Bootcamp:学习Python语言和编码的训练营https://www.udemy.com/course/complete-python-bootcamp/?LSNPUBID=JVFxdTr9V80ranEAID=JVFxdTr9V80ranMID=39197ranSiteID=JVFxdTr9V80-lB6TwxSdouentAk36.qjmw 这是学习Python编程的最佳场所Udemy 上的语言最全面、最简单的课程!

爪哇

编写一次,随处运行。

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

Java 编程语言具有高度的用户友好性、灵活性和平台无关性。它已以多种方式用于人工智能的开发。下面举几个例子供大家理解:

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

Deep Java Library 由Amazon 构建,使用Java 创建和部署深度学习功能。

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

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

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

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

如果Java有真正的垃圾回收,大多数程序在执行后都会从内存中删除自己。 ——罗伯特·休厄尔

Java 代码片段示例如下:

Java 代码示例片段

Java 初学者课程:

适合初学者在线学习的五门Java 编程课程https://javarevisited.blogspot.com/2018/05/top-5-java-courses-for-beginners-to-learn-online.html 如果您是计算机科学专业的毕业生,或任何人如果你想学习Java 并正在寻找一些很棒的资源,那么就来这里吧。

R语言

官方网站

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/

使用R语言创建2019新型冠状病毒肺炎(Covid-19)互动地图

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

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

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

事实定义真实的陈述。规则定义带有附加条件的语句。目标根据知识库定义报告的提交位置。查询定义了如何使您的主张成立以及最终如何分析事实和规则。 Prolog提供了两种实现人工智能的方法,它们已经在实践中使用了很长时间,并且为数据科学家和研究人员所熟知:

符号方法:包括基于规则的专家系统、定理证明和基于约束的方法。统计方法:包括神经网络、数据挖掘、机器学习等Lisp

用于创建具有N 维输入和M 输出单元的单层感知器的Lisp 代码

Lisp 是列表处理的缩写,是继Fortran 之后第二古老的编程语言。 Lisp 被称为人工智能的奠基人之一,由John McCarthy 于1958 年创建。

Lisp 是一种语言,它可以让你做别人告诉你不可能的事情。 ——肯特·皮特曼

作为数学符号处理的实用编程语言,Lisp 迅速成为开发者选择的人工智能编程语言。 Lisp 的以下一些特性使其成为机器学习人工智能项目的最佳选择之一:

快速原型设计动态对象创建垃圾收集灵活性随着其他竞争编程语言的重大改进,Lisp 独有的一些功能也已应用于其他语言。使用Lisp 开发的一些著名项目包括Reddit 和HackerNews。

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

哈斯克尔

官方网站

Haskell 于1990 年发布,以著名数学家Haskell Brooks Curry 命名,是一种纯函数式强静态类型编程语言,通常用于惰性计算和较短的代码。

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

强大的抽象内置内存管理代码可重用性易于理解SQL、Lisp 和Haskell 是我见过的唯一人们花更多时间思考而不是编写代码的编程语言。

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

朱莉娅

Julia 是一种高性能、通用的动态编程语言,适合创建几乎任何应用程序,特别适合数据分析和计算科学。可与Julia 配合使用的各种工具包括:

Vim 和Emacs 等流行编辑器。集成开发工具,如Juno 和Visual Studio。

Julia源码目录结构

Julia 提供了以下功能,使其成为人工智能编程、机器学习、统计和数据建模中不可或缺的选择:

动态类型系统内置包管理器,能够进行并行和分布式计算宏和元编程功能支持多个调度程序直接支持C 语言函数Julia 的构建是为了消除其他编程语言的弱点,它可以与TensorFlow.jl 一起使用,集成了MLBase.jl 和MXNet.jl 等工具来开发机器学习应用程序,这些工具充分利用了Julia 提供的可扩展性。

Google 趋势 Julia 的用户数量随时间变化:

图片来源:谷歌趋势

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

通过以上几种人工智能编程语言的选择,人工智能工程师和科学家可以选择适合自己项目需求的语言。每种人工智能编程语言都有其自身的优点和缺点。

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

原文:https://towardsdatascience.com/top-programming-languages-for-ai-engineers-in-2020-33a9f16a80b0

本文为CSDN翻译。转载时请注明出处。

热门文章推荐

软件欺诈骗局曝光:替罪羊到底是如何构成的?

遗留代码写得很糟糕,我该怎么办?

Python爬取疫情期间全球股市走势,笑死我了……

无代码时代来临,程序员如何保住饭碗?

从头开始构建:使用CNN 和TensorFlow 进行面部特征检测

另一种声音:容器是未来吗?

探索比特币独特的时间链、挖矿费用、场外交易等概念

热门文章