AI编程语言图鉴-精品文档资料整理.docx





《AI编程语言图鉴-精品文档资料整理.docx》由会员分享,可在线阅读,更多相关《AI编程语言图鉴-精品文档资料整理.docx(14页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、AI编程语言图鉴 作者 | 元宵大师 责编 | 胡巍巍 来源 | CSDN CSDNnews 当前最炙手可热的领域非“人工智能 Artificial Intelligence 莫属。其实 “人工智能的炽热并非一挥而就 早在1956年度“人工智能概念就已经被提出了。 那年度 在美国东部的达特茅斯学院举办了历史上第一次人工智能研讨会 会上John McCarthy首次提出了“人工智能术语 它指的是像人类那样考虑的机器 这被认为是“人工智能诞生的标志。 经过60多年度的开展以及探究 “人工智能已经迎来了第三次革命机器学习。 在互联网、大数据等前沿技术的支持下 近几年度无论是人脸识别、语音识别、机器翻
2、译、视频监控 还是交通规划、无人驾驶、智能陪伴、舆情监控、智慧农业等 “人工智能正在不断获得打破性的进展。 将来是“人工智能的时代 它会日益浸透到各行各业、各个领域的方方面面之中 怎样将“人工智能恰到好处地发挥作用 主要表达在软件程序的开发上。 本质上 软件程序是由编程语言开发实现的 选择适宜的编程语言不仅可以进步软件的开发效率 可以以进步软件的使用质量 它是软件开发经过中的关键环节。 当前的编程语言种类繁多 琳琅满目 我们需要对编程语言有更全面的解析才能得心应手的选择最合适的一种。那么 它们的核心区别是什么 又是怎样一步一步开展出来的 哪种编程语言是“人工智能领域的最正确选择 本文就以“人工
3、智能的编程语言开展历史为轨迹 给出这些问题的答案。 初识编程语言 假如讲语言是人与人之间传递信息的纽带 那么编程语言那么是把人的思维传递给计算机的纽带。计算机执行的每一个步骤 都是以编程语言所编写的程序来执行的。 目前的编程语言有C、C 、C#、Python、Java、PHP、GO、JavaScript等 固然每种编程语言的语法不同 但是它们最终的目的是为了让计算机工作。 另一方面 CPU芯片只能识别机器指令 因此 尽管不同的编程语言在语法上差异很大 最终还是被转换为CPU芯片可以执行的机器指令。 比方C、C 这些编译型的编程语言只有经过编译工具的处理后才能被CPU芯片所识别。 举个例子讲明这
4、个经过。我们在Linux平台上用C语言编写完程序 接下来需要用编译工具处理这份程序文件 我们选择一款常用的编译工具GCC GNU Compiler Collection 然后使用GCC的命令语法分别完成预处理、编译、汇编、链接这4个阶段 最后会生成一个可执行二进制文件 这个文件就是由机器指令所组成的。对于那些编译型语言的集成开发软件而言 它们为了进步开发效率把编译经过封装成了控件操作 在编译原理上仍然是一样的。 Python这类解释型语言与编译型语言那么有所不同。由Python语言编写完成的程序文件无需编译为可执行二进制文件后再执行 而是可以调用Python解释器逐一将程序语句解释成可执行的机
5、器指令。 使用者无需关心程序的预处理、编译、汇编、链接这些经过 这使得开发工作变得更加轻松 不过在程序执行时所增加的解释经过也使得它比编译性语言在执行效率上有所优势。 至于为什么Python可以用动态解释的方式执行程序 关键点在于Python解释器上。Python解释器根据实现的语言不同分为不同的版本 比方Java版的Jython .Net版的IronPython等 源生的Python解释器是基于C语言实现的 称为CPython。 当我们从Python官网下载并安装好Python 后 我们会得到一个CPython解释器。运行Python程序文件时会启动CPython解释器 解释器首先将程序文件
6、 .py 编译为字节码 .pyc 然后再将字节码转换为可执行的机器码。 编程语言的开展 市面上固然有形形色色的编程语言 但是从理论上来讲 每种编程语言几乎可以实现同样的功能 它们的产生是为了迎合不同应用场景的开展需求罢了。 总体来讲 编程语言的开展历史可分为三个阶段 第一阶段的机器语言、第二阶段的汇编语言、第三阶段的高级语言 这是一个逐步进化的经过。 机器语言是第一代编程语言 它指的是用二进制的0/1指令集来表示的语言 也是计算机唯一可以识别的语言。 指令的根本格式由操作码以及操作数两局部组成 操作码指明了指令的操作功能 操作数表示该指令的操作对象。早在1946年度 世界上诞生了第一台计算机
7、当时的程序员只能通过机器语言来编写程序。 他们采用的方法是 先在卡片上用穿孔方式表示0/1指令集 再用读卡机读取卡片上的程序并加载给计算机去执行。 机器语言是直接面向计算机CPU操作的语言 因此执行效率很高 但是大量繁杂琐碎的细节牵制着程序员 编写难度高、可读性差、不便于移植等缺陷 使得他们不得不把时间以及精力专注在怎样确保程序的正确性上。机器语言太过于晦涩难懂 于是推动诞生了汇编语言。 汇编语言是第二代编程语言 也称为符号语言 它用助记符代替了操作码 用地址符号或者标号代替地址码 比方MOV R0,#0x100表示的含义是把0x100赋值给R0 这样相对来讲更加容易理解以及记忆。 当然 汇编
8、语言的符号可以被人类承受 但并不能被计算机识别 对此还要通过一种软件将汇编语言的符号转换为机器指令 这个软件就是编译器。 由于不同的CPU会有不同的指令集 因此每种CPU的厂家都会提供自己专属的汇编语言语法规那么以及编译器 在编译器中记录着汇编语言各种符号与机器指令之间的对应关系。 这样一来程序员可以用汇编语言编写程序 然后通过编译器把汇编语言编译成机器指令。 相比与机器语言 汇编语言在可用性上已经有很大的进步了 但是它仍然是面向机器的一种低级语言 固然执行速度快、效率高、程序体积小 但是编写以及调试上的复杂性仍然促使着编程语言向更高级的语言去进化。 高级语言是第三代编程语言 当编程语言开展到
9、这个阶段时 已经从面向机器进入到面向人类的层面。 程序员可以不依赖于特定型号的计算机 使用接近于自然语言、数学公式这些更容易理解的方式编写程序 并且编写的程序能移植到各种平台上正常运行。 高级语言的开展也分为两个阶段 分别为前一阶段的构造化语言或称面向经过语言 后一阶段的面向对象语言。面向经过语言的典型代表有C、 Fortran、COBOL、Pascal、Ada等等 面向对象语言的典型代表有Java、C 、C#、Python等。 简单的讲 面向经过以及面向对象是两种编程的思想。面向经过是建立在“经过概念上来指导软件编程的思想 比方在学习以及工作中 当我们去完成某项任务时 会罗列出完成这件事情的
10、假设干个步骤 假设其中某一步骤十分复杂时 又可以将它细化为假设干个子步骤 以此类推 直到问题解决。 本质上这些步骤就是“经过 按照步骤去解决问题的思想就是面向经过的思想。基于面向经过“自顶向下、逐步求精的编程思想才有了“高内聚 低耦合模块化编程的要求。 面向对象是建立在“对象概念上来指导软件编程的思想 认为客观世界由各种对象组成 任何事物都是对象。比方把“程序员使用电脑这个事件对象化 首先用抽象的方式建立“人以及“电脑两个类 类中分别包括所有的属性以及函数 再以继承“人类的方式派生出一个“程序员类 把“电脑类以组合的方式作为“程序员类的属性 在“程序员类中添加“使用电脑函数 最后实例化一个名为
11、Tom的程序员以及一台Dell电脑 Tom实例调用了“使用电脑这个方法。 以上比照可以看出 当程序简单、规模较小的场景下 面向经过编程使得程序流程更加明晰 但是当面对复杂程序时 面向对象易维护、易复用、易扩展的优点就表达了淋漓尽致了。 可见从面向经过语言到面向对象语言的开展可以看出 随着时代的开展 编程语言需要解决的问题越来越复杂 编写的程序规模也越来越庞大 软件的开发、程序的维护、功能的修改变得越来越频繁。 因此 面向对象语言是当前计算机技术开展到一定阶段的产物 从面向经过过渡到面向对象的编程方法也是大势所趋。 目前面向经过语言中Fortran、Basic 以及 Pascal 这些语言根本上
12、已经很少有人使用了 而C语言仍然是计算机领域最重要的一门语言 十分是在系统编程、嵌入式编程领域占据着统治地位。 C语言的起源与UNIX的改良是密不可分的。在1969至1970 年度期间 美国 电报公司 AT T 贝尔实验室的Ken Thompson以及Dennis Ritchie等人使用汇编语言编写了第一个版本的 UNIX 操作系统。 由于UNIX 操作系统良好的性能 在其发布初期 就迅速得到了推广以及应用。不过汇编语言依赖于计算机硬件 在可读性以及可移植性方面都比拟差。 1973 年度 Ken Thompson以及Dennis Ritchie在做系统内核移植开发时 发现使用汇编语言很难实现
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- AI 编程 语言 图鉴 精品 文档 资料 整理

限制150内