大家的固有印象是人工智能等于Python语言,那么Python到底应用在哪?以及其他语言如何在人工智能开发有自己的一席之地,今天盘点AI开发五种适用编程语言。
一、C/C++
C++是速度最快的面向对象编程语言,但是提起来AI开发可能大家都不列为首选。如果我们在嵌入式环境中来工作,考虑到系统的性能指针可能是我们最好的选择。为什么我会给C++放在第一顺位,尽管大家选择了Python。我也建议不想停留在表面的人都要学习。
现在流行的库都是C++写的,Python是什么呢?套了一个壳子。所以速度也有了灵活性也有了。最后是AI的项目当中C++用于统计,比如神经网络。
二、Python
第一名毫无疑问是Python,根据今年的各种开发报告来看,75%人工智能开发方向的程序员全部使用Python。Python可用的库是别的语言都不能比的。给大家细数一下:
Numpy:是进行科学计算的必备。
Pandas:是数据分析的必备,并且提供了计算即可,可用Numpy再进行计算。
Scikitlearn:基于开源机器学习的库,支持各种难度算法。
SpaCy:自然语言的必备库。
Python和其他语言放在一起,并不是让大家做选择,不管你学了什么语言。人工智能方向Python是必学内容。
三、Java
单纯的学习和研究人工智能的话Java不是必学项,尽管学习曲线还ok但是学习成本也过高了。如果你想要去的公司是互联网头部公司,也许你需要Java的一点基础。
另外一点就是算法相关的,Java还是非常有必要学的,主要因为Java可扩展。
四、Lisp
Lisp在构建AI项目中主要是解决归纳逻辑问题。《ArtificialIntelligence:Amodernapproach》一书中解释了为什么Lisp是AI开发的顶级编程语言之一,有兴趣的自己查看。
Lisp适用于AI的原因有相对于其他语言的可扩展性,另外就是环境支撑比如调试还有增量编译等。不仅支持符号编程,还不区分数据和代码,所以非常强大。
五、Prolog
Prolog和Lisp性能方面是差不多的,它还可以跟R语言合用,和Java双向沟通。很多人觉得它过时了,但是大家可以到GitHub上面,依旧可以看到至今海域很多prolog在提交更新,神经网络几经波折,大家都不知道下一个技术点会爆发在那。
有关人工智能领域的专家也纷纷认为,人工智能研究上存在奇点,一旦跨越之后就会加速发展,超过我们对人工智能技术的认知。