人工智能的底层算法通常还是C/C++,其他语言封装了其接口方便调用,所以看起来好像是其他语言,我自己学习时就是使用的C/C++。为什么现在大部分研发人员都使用Python做人工智能方面的实验,一个很重要的原因就是用Python做实验开发周期短。

Python优势是易学,是一种轻量型脚本解释型动态语言,无指针,无须担心内存泄露等问题,最重要的是具有丰富的算法库。而C/C++等语言目标是支持多种场景使用,可以用于多种大型项目,是重量级静态语言,一般非常适合一些复杂的大型非计算型程序。因为人工智能对算法要求高,而Python支持的又好,又好用,所以就选他了啊。

这其中最主要的就是科学计算人工智能自然少不了大量的科学计算,Python里的各种科学计算库,数学库恰恰非常好用,不光效率高,而且好入门,让数学不好的人也能轻松使用。

总结下python的优缺点

优点

Python有丰富多样的库和工具。

支持算法测试,而无需实现它们。

Python的面向对象设计提高了程序员的生产力。

与Java和C/C++相比,Python的开发速度更快。

缺点

习惯使用Python来编写人工智能程序的程序员很难适应其它语言的语法。

与C/C++和Java不同的是,Python需要在解释器的帮助下工作,这就会拖慢在AI开发中的编译和执行速度。

不适合移动计算。

从这就可以看出人工智能是综合技术的体现,不能说哪门语言就一定是首选,比如TensorFlow是用了好几种编程语言的集合,用的最多的语言其实是C/C++,Python用量占第二位,根据不同的需求活用各种语言才是最佳解决方案。

既然是对比,那就也看下C/C++或Java的优缺点

(我习惯的把C/C++放在一起,因为其知识点基本是重合的,使用中也是可以交叉使用)

优点

c++是最快的计算机语言,如果你的人工智能项目对于时间特别敏感,那么C++是很好的选择,它提供更快的执行时间和更快的响应时间(这也是为什么它经常应用于搜索引擎和游戏)。此外,c++允许广泛使用算法,并且在使用统计人工智能技术方面是有效的。另一个重要的因素是c++支持在开发中重用代码。

C ++适用于机器学习和神经网络。

缺点

多任务处理不佳; C ++仅适用于实现特定系统或算法的核心或基础。

它遵循自下而上的方法,因此非常复杂。

Java

Java也是一种多范式语言,遵循面向对象的原则和一次写入读取/随处运行(WORA)的原则。它是一种AI编程语言,可以在任何支持它的平台上运行,而无需重新编译。

在各种项目的开发中,Java都是常用语言之一,它不仅适用于NLP和搜索算法,还适用于神经网络

更多推荐

为什么神经网络用python而不用c语言_python是用C实现的,Java是用C++实现的,那为什么不直接用C或C++呢?...