哪种编程语言最好?这个问题可能永远没有答案。萝卜白菜,各有所爱,AI工程师和科学家可以根据项目需要,从众多编程语言中选择最合适的编程语言。有人曾把编程比作做饭,编程语言是首先要准备的食材或厨具。C:一把菜刀,一个煎锅,一个很好用的炉子,隔壁有个菜市场。Java:切菜机、切菜机、绞肉机、和面机、烤箱、微波炉……Python:大型超市的速冻柜有成品、半成品、半成品,应有尽有。它能让你快速搞定一桌可以吃的饭菜,但要追根究底就没那么容易了。C++:一套顶级厨具,十几把刀,雕肉片;平底锅爆炒、闷烧、煎肉、煎蛋、炖汤……有人试图在21天里掌握这一套工具的使用,结果往往是玩刀伤到自己,或炸毁厨房。虽然有很多编程语言可以满足你在开始开发AI时的需求,但是没有一种编程语言是一站式解决AI编程问题的,因为在每个项目中,不同的目标需要特定的方法。就像做菜时的精挑细选一样,在成为“高手”的过程中,我们要学习的就是找到最适合自己的编程语言。PythonPython是可读性最强的语言。—PauDubois用Python编程。资料来源:不飞溅。Python于1991年开发,一项民意调查显示,超过57%的开发人员在开发AI时选择Python作为首选编程语言,而不是C++。因为简单易学,Python让程序员和数据科学家更容易进入开发AI的世界。Python是程序员需要多少自由度的“实验”。太自由了,没人能看懂别人的代码;太自由了,表现力会比较差。—GuidovanRossum使用Python,您不仅可以获得出色的社区支持和广泛的库集,还可以享受它的灵活性。您将从Python中获得的最大收获可能是平台独立性和用于深度学习和机器学习的广泛框架。使用Python编码的乐趣在于看到小的、可读性强的类,这些类可以用少量清晰的代码表达很多行为(而不是用大量代码让读者不知所措)。——GuidovanRossumPython代码片段示例:流行的TensorFlow库——用于机器学习工作负载和数据集处理;scikit-learn——用于训练机器学习模型;PyTorch——用于计算机视觉和自然语言处理;Keras——用于高度复杂的数学计算和运算的代码接口;SparkMLib-一个类似于ApacheSpark的机器学习库,通过算法和实用程序等工具,让每个人都能轻松学习机器;MXNet-另一个简化深度学习过程的Apache库;Theano——一个用于定义、优化和评估数学表达式的库;Pybrain-用于强大的机器学习算法。此外,基于对GitHub存储库的贡献,Python已经超越Java成为世界上第二大最受欢迎的语言。StackOverflow将Python称为“增长最快”的主流编程语言。Java一次编写,随时运行。Java被广泛认为是世界上最好的编程语言之一,过去20年的使用证明了这一点。凭借其用户友好性、灵活性和平台独立性,Java以各种方式参与AI的开发,例如:TensorFlow-带有API的Java也被列在TensorFlow支持的编程语言中。虽然不像其他完全受支持的语言那样功能丰富,但它确实支持Java并且正在迅速改进。DeepJavaLibrary-亚马逊用于在Java中创建和部署深度学习功能的库。Kubeflow-Kubeflow使在Kubernetes上部署和管理机器学习堆栈变得更加容易,并且还提供开箱即用的ML解决方案。OpenNLP-Apache的OpenNLP是一种用于自然语言处理的机器学习工具。Java机器学习库(JavaMachineLearningLibrary)——Java-ML为开发者提供了多种机器学习算法。Neuroph-Neuroph利用Java开源框架在NeurophGUI的帮助下设计神经网络.如果Java被垃圾回收,大多数程序会在执行时删除自己。--RobertSewellJava代码片段示例:R语言RossIhaka和RobertGentleman于1995年发布了R语言的第一个版本。现在由R开发人员的核心团队维护,R是S编程语言的一种实现,用于开发统计软件和数据分析。R的基本特点是擅长处理大量数据。与Python中不完善的NumPy包相比,R是更好的选择;您可以使用R来处理各种编程范式,例如函数式编程、向量计算和面向对象编程。等待。适用于R的AI编程包:Gmodels——提供一系列拟合模型的工具;Tm——文本挖掘应用程序框架;RODBC——R的ODBC接口;OneR——用于实现单规则机器学习分类算法,适用于机器学习模型。在数据挖掘者和统计学家中,R被广泛使用的特性是:用于扩展功能的各种库和包;一个积极的支持社区;使用C、C++和Fortran的能力;几个A包;支持生成高质量图形。Prolog逻辑编程的缩写。Prolog于1972年首次出现,适用于开发人工智能,尤其是自然语言处理。Prolog最适合创建聊天机器人,而ELIZA是有史以来第一个使用Prolog创建的聊天机器人。第一个成功的聊天机器人。为了理解Prolog,您必须熟悉一些指导Prolog工作的基本术语:事实定义正确的陈述;规则定义带有附加条件的语句;目标定义了在何处提交针对知识库的陈述;查询(Query)定义了如何使你的陈述正确,以及最终分析的事实和规则。Prolog提供了两种实现AI的方法,这些方法已经实现了很长时间,并且在数据科学家和研究人员中广为人知:符号方法,包括基于规则的专家系统、定理证明和基于约束的方法;统计方法包括神经网络、数据挖掘、机器学习和其他方法。Lisp在Lisp编码中创建一个具有n个输入和m个单元的单层感知器。列表处理的缩写。它是仅次于Fortran的第二古老的编程语言。它也被称为AI的创始语言之一,由JohnMcCarthy于1958年创建。Lisp是一种旨在实现不可能的语言。—KentPitmanLisp,一种可以编程的实用数学符号,迅速成为开发者首选的AI编程语言。Lisp是机器学习AI项目的最佳选择之一,因为它具有独特的特点:快速原型制作;创建动态对象;垃圾收集;灵活性。其他语言已经合并了一些特定于Lisp的功能,以及对其他竞争编程语言的重大改进。涉及Lisp的著名项目包括Reddit和HackerNews。说到Lisp,它是世界上最美丽的语言——至少在Haskell出现之前是这样。-LarryWallHaskellHaskell创建于1990年,以著名数学家HaskellBrooksCurry的名字命名。Haskell是一种纯函数式和静态类型的编程语言,适用于惰性求值和短代码。Haskell是一种非常安全的编程语言,因为与其他编程语言相比,Haskell的错误很少,因此它在处理错误方面提供了更大的灵活性。即使确实发生了错误,大多数非语法错误也可以在编译时而不是运行时被捕获。Haskell提供的特性包括:强大的抽象;内置内存管理;代码可重用性;容易明白。SQL、Lisp和Haskell是我见过的仅有的编程语言,您可以将时间花在思考而不是打字上。-PhilipGreenspunHaskell的特性有助于提高程序员的生产力。Haskell与其他编程语言非常相似,但只有一小部分开发人员使用。撇开挑战不谈,随着开发者社区对Haskell的使用增加,Haskell可以证明与其他AI竞争语言一样好。JuliaJulia是一种高性能通用动态编程语言,几乎可以创建任何应用程序,但最适合数值分析和计算科学。与Julia一起工作的工具还包括:流行的编辑器,如Vim和Emacs;像Juno和VisualStudio这样的IDE。Julia源代码组织。Julia中的一些特性使其成为AI编程、机器学习、统计和数据建模的绝佳选择,这些特性是:动态类型系统;内置包管理器;进行并行和分布式计算的能力;宏和元编程能力;支持多重调度;直接支持C函数。Julia的构建是为了消除其他编程语言的弱点,并且可以在与其他工具(如TensorFlow.jl、MLBase.jl和MXNet.jl)集成时用于机器学习,并且可以通过Julia的可扩展性来完成更多工作。GoogleTrends-Julia使用趋势。总结AI工程师和科学家可以根据项目需要从多种编程语言中进行选择。每种AI编程语言都有利有弊。随着这些语言的不断完善,AI开发很快就会成为一种更舒适的体验,让更多的人加入到这波创新浪潮中。强大的社区支持让新手的生活变得更好,社区对包和扩展的贡献让每个人的生活更轻松。
