作者
元宵大师
责编
胡巍巍
当前最炙手可热的领域非“人工智能”(ArtificialIntelligence)莫属。其实,“人工智能”的火热并非一蹴而就,早在年“人工智能”概念就已经被提出了。
那年,在美国东部的达特茅斯学院举办了历史上第一次人工智能研讨会,会上JohnMcCarthy首次提出了“人工智能”术语,它指的是像人类那样思考的机器,这被认为是“人工智能”诞生的标志。
经过60多年的发展和探索,“人工智能”已经迎来了第三次革命——机器学习。
在互联网、大数据等前沿技术的支持下,近几年无论是人脸识别、语音识别、机器翻译、视频监控,还是交通规划、无人驾驶、智能陪伴、舆情监控、智慧农业等,“人工智能”正在不断取得突破性的进展。
未来是“人工智能”的时代,它会日益渗透到各行各业、各个领域的方方面面之中,如何将“人工智能”恰到好处地发挥作用,主要体现在软件程序的开发上。
本质上,软件程序是由编程语言开发实现的,选择合适的编程语言不仅可以提高软件的开发效率,也可以提高软件的使用质量,它是软件开发过程中的关键环节。
当前的编程语言种类繁多,琳琅满目,我们需要对编程语言有更全面的了解才能得心应手的选择最适合的一种。那么,它们的核心区别是什么?
又是如何一步一步发展出来的?哪种编程语言是“人工智能”领域的最佳选择?本文就以“人工智能”的编程语言发展历史为轨迹,给出这些问题的答案。
初识编程语言
如果说语言是人与人之间传递信息的纽带,那么编程语言则是把人的思维传递给计算机的纽带。计算机执行的每一个步骤,都是以编程语言所编写的程序来执行的。
目前的编程语言有C、C++、C#、Python、Java、PHP、GO、JavaScript等,虽然每种编程语言的语法不同,但是它们最终的目的是为了让计算机工作。
另一方面,CPU芯片只能识别机器指令,因此,尽管不同的编程语言在语法上差别很大,最终还是被转换为CPU芯片可以执行的机器指令。
比如C、C++这些编译型的编程语言只有经过编译工具的处理后才能被CPU芯片所识别。
举个例子说明这个过程。我们在Linux平台上用C语言编写完程序,接下来需要用编译工具处理这份程序文件,我们选择一款常用的编译工具GCC(GNUCompilerCollection),然后使用GCC的命令语法分别完成预处理、编译、汇编、链接这4个阶段,最后会生成一个可执行二进制文件,这个文件就是由机器指令所组成的。对于那些编译型语言的集成开发软件而言,它们为了提高开发效率把编译过程封装成了控件操作,在编译原理上仍然是相同的。
Python这类解释型语言与编译型语言则有所不同。由Python语言编写完成的程序文件无需编译为可执行二进制文件后再执行,而是可以调用Python解释器逐一将程序语句解释成可执行的机器指令。
使用者无需关心程序的预处理、编译、汇编、链接这些过程,这使得开发工作变得更加轻松,不过在程序执行时所增加的解释过程也使得它比编译性语言在执行效率上有所劣势。
至于为什么Python能够用动态解释的方式执行程序,关键点在于Python解释器上。Python解释器根据实现的语言不同分为不同的版本,比如Java版的Jython,.Net版的IronPython等,源生的Python解释器是基于C语言实现的,称为CPython。
当我们从Python
转载请注明:http://www.0431gb208.com/sjslczl/2648.html