150 likes | 347 Views
计算机语言发展简史. 计算机程序( Computer Program ). 计算机能够理解的语言来表示的算法 软件 (Software) 为了完成特定任务的程序集合 操作系统( Operating System )是特殊系统软件 UNIX Linux DOS Windows Macintosh VMS. 数据( Data ). 向 程序提供的输入 计算机可用的任何信息. 运行程序示意. 编译. 编译器( Compiler ) 将高级语言转换成机器语言 源程序 / 源码 source program, source code 输入程序
E N D
计算机程序(Computer Program) • 计算机能够理解的语言来表示的算法 • 软件(Software) • 为了完成特定任务的程序集合 • 操作系统(Operating System)是特殊系统软件 • UNIX Linux DOSWindows Macintosh VMS
数据(Data) • 向程序提供的输入 • 计算机可用的任何信息
编译 • 编译器(Compiler) • 将高级语言转换成机器语言 • 源程序/源码 • source program, • source code • 输入程序 • 目标程序/目标码 • Object program • Object code • 编译器转换好的版本
编译和运行C++程序 • 链接器(Linker) • 将目标码合并 • 例程 • 系统目标码(如库函数) • 用户制作目标码 • 其他语言生成目标码
编程语言演变 低级语言 高级语言
低级语言 • 汇编 assembly language • ADD X Y Z • 机器语言 machine • 转换成(0,1形式)0110 1001 1010 1011 • 计算机能理解的语言
高级语言 • 常见 • C C++ Java Pascal Visual Basic FORTRAN COBOL Lisp Scheme Ada • 特点 • 类似于人类语言 • 易于读写 • 指令复杂,远超过CPU直接执行的单条指令 • 要转化成CPU 能执行的机器指令
为什么C • C :Dennis Ritchie, AT&T Bell Labs , 1970s • 通用的,简介的,相对低级的 • 适用于大部分系统工作设计 • 可以在每个地方的任何系统工作 • 适用于 UNIX环境 • 最初用于维护UNIX • UNIX的成功促成了C的成功
C语言特点 • 介于非常高级的语言和一种低级语言之间 • 高级语言 • 比汇编更容易理解 • 具有低级语言的大量特点 • 可以直接操作内存 • 没有完善的自动检查功能 • 不是面向对象的语言
C++ • C++: • BjarneStroustrup, AT&T,Bell Labs,1980s. • ISO C++标准, 1998
C/C++发展简史 C语言:Bell实验室的D.M.Ritchie • 1972年,为了编写UNIX设计的。 • 两个重要的标准: • 老标准:1978年,《The C Programming Language》 • B.W.Kernighan和D.M.Ritchie合著 • 新标准;1983年,ANSI制定,称为ANSI C C++:Bell实验室的Bjarne Stroustrup C 基础 带类的C C++ 1.0 C++ 2.0 C++ 3.0 类 Simula 67 1979年 Cpre预处理器 1985年 《C++程序设计语言》 1989年 1993年 模板 虚函数 函数和运算符的重载 引用 常量Const 多重要继承 保护成员 对象的初始化与赋值的机制 抽象类 静态成员函数 CONST成员函数 类及派生类 公有和私有 构造函数,析构函数 友元 内联函数 赋值运算符的重载
C++特点 • C++是一种通用程序设计语言,特别是面向系统程序设计 • 一个更好的C • 支持数据抽象 • 支持面向对象的程序设计 • 支持通用泛型程序设计
更好的C • 与C语言兼容 • 既支持面向对象的程序设计,也支持结构化的程序设计。熟悉C语言的程序员,能够迅速掌握C++语言。 • 修补了C语言中的一些漏洞,提供更好的类型检查和编译时的分析。 • 使得程序员在C++环境下继续写C代码,也能得到直接的好处。 • 生成目标程序质量高,程序执行效率高 • 一般来说,用面向对象的C++编写的程序执行速度与C语言程序不相上下。