计算机语言的发展史

1、机器语言

缺点可读性差,不易记忆;编写程序既难又繁,容易出错;程序调试和修改难度巨大,不容易掌握和使用。机器语言直接依赖于中央处理器,所以用某种机器语言编写的程序只能在相应的计算机上执行,无法在其他型号的计算机上执行,也就是说,可移植性差。

2、汇编语言

为了减轻使用机器语言编程的痛苦,20世纪50年代初,出现了汇编语言。汇编语言用比较容易识别、记忆的助记符替代特定的二进制串。例如使用ADD 来替代加法的二进制指令。通过这种助记符,人们就能较容易地读懂程序,调试和维护也更方便了。但这些助记符号计算机无法识别,需要一个专门的程序将其翻译成机器语言,这种翻译程序被称为汇编程序。尽管汇编语言比机器语言方便,但汇编语言仍然具有许多不便之处,程序编写的效率远远不能满足需要。汇编语言直接操作硬件,因此汇编语言只针对特定的计算机处理器,所以几乎没有可移植性。

3、早期高级语言

1954年,第一个高级语言—FORTRAN问世了。高级语言与自然语言和数学表达式相当接近,不依赖于计算机型号,通用性较好。高级语言的使用,大大提高了程序编写的效率和程序的可读性。与汇编语言一样,计算机无法直接识别和执行高级语言,必须翻译成等价的机器语言程序(称为目标程序)才能执行。高级语言源程序翻译成机器语言程序的方法有“解释”和“编译”两种。解释方法采用边解释边执行的方法。编译方法采用相应语言的编译程序,先把源程序编译成指定机型的机器语言目标程序,然后再把目标程序和各种标准库函数连接装配成完整的目标程序,在相应的机型上执行。

4、结构化高级语言

高级语言编写程序的编写效率虽然比汇编语言高,但随着计算机硬件技术的日益发展,人们对大型、复杂的软件需求量剧增,而同时因缺乏科学规范、系统规划与测试,程序含有过多错误而无法使用,甚至带来巨大损失。20世纪60年代中后期“软件危机”的爆发,使人们认识到大型程序的编制不同于小程序。“软件危机”的解决一方面需要对程序设计方法、程序的正确性和软件的可靠性等问题进行深入研究,另一方面需要对软件的编制、测试、维护和管理方法进行深入研究。结构化程序设计是一种程序设计的原则和方法。它讨论了如何避免使用GOTO语句;如何将大规模、复杂的流程图转换成一种标准的形式,使得它们能够用几种标准的控制结构(顺序、分支和循环)通过重复和嵌套来表示。C语言就是一种结构化语言。一般来说,计算机语言要处理两个概念——数据和算法(程序=数据+算法)。数据是程序使用和处理的信息,而算法是程序使用的方法。C语言是过程性语言,这意味着它强调的是编程的算法方面。

但是,到了20世纪70年代末期,随着计算机应用领域的不断扩大,对软件技术的要求越来越高,结构化程序设计语言和结构化程序设计方法又无法满足用户需求的变化了,其缺点也日益显露出来:
(1)代码的可重用性差。
(2)可维护性差。

(3)稳定性差。

(4)难以实现。

人的思维焦点通常是在于事物和实体,以及它们的属性和活动,比如说当考虑会计部门的应用程序时,我们会考虑下列内容:
       出纳支付工资;职工出具凭证;财务主管批准支付;出纳记账。
       但实际应用中,要决定如何通过数据结构、变量和函数来实现这个应用程序却是很困难的。

5面向对象语言

结构化程序设计方法与语言是面向过程的,存在较多的缺点,同时程序的执行是流水线式的,在一个模块被执行完成前,不能干别的事,也无法动态地改变程序的执行方向。这和人们日常认识、处理事物的方式不一致。人们认为客观世界是由各种各样的对象(或称实体、事物)组成的;每个对象都有自己的内部状态和运动规律,不同对象间的相互联系和相互作用构成了各种不同的系统,进而构成整个客观世界;计算机软件主要就是为了模拟现实世界中的不同系统,如物流系统、银行系统、图书管理系统、教学管理系统等。因此,计算机软件可以认为是,现实世界中相互联系的对象所组成的系统,在计算机中的模拟实现。

为了使计算机更易于模拟现实世界,1967年挪威计算中心开发出了Simula67语言,它提供了比子程序更高一级的抽象和封装,引入了数据抽象和类的概念,被认为是第一个面向对象程序设计语言。它对后来出现的面向对象语言,如C++、Java、C#产生了深远的影响。

随着面向对象语言的出现,面向对象程序设计方法也应运而生且得到迅速发展,面向对象的思想也不断向其他方面渗透。1980年Grady Booch提出了面向对象设计的概念,之后面向对象分析的概念也被提出。面向对象程序设计在软件开发领域掀起了巨大的变革,极大地提高了软件开发效率。

程序语言越低级,则必须对过程描述的越具体,指令也就越接近机器的硬件逻辑。相反,程序语言越高级,就越接近对问题的描述与表达,因而更直观,更容易被人们所理解。

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

转载自:http://blog.csdn.net/hurlan/article/details/20941793

时间: 2024-11-14 22:16:15

计算机语言的发展史的相关文章

java书系列之——前言

第1章Java的起源 对于计算机语言的发展史,业界一般认为:B语言导致了C语言的诞生,C语言演变出了C++语言,而C++语言将让位于Java语言.要想更好地了解Java语言,就必须了解它产生的原因.推动它发展的动力,以及它对其他语言的继承.像以前其他成功的计算机语言一样,Java继承了其他语言的先进原理,同时又因其独特的环境要求而提出了一些创新性的概念.在这本书的其他各章中,将从实用的角度,对Java语言.库及应用程序进行包括语法在内的详细介绍.在本章里,我们将介绍Java语言产生的背景.发展过

Chapter 1 Java开发前奏

第1章:初识Java 1.1 计算机的基础知识 1.1.1 计算机 计算机(Computer)全称:电子计算机,俗称电脑.是一种能够按照程序运行,自动.高速处理海量数据的现代化智能电子设备.由硬件和软件所组成,没有安装任何软件的计算机称为裸机.常见的形式有台式计算机.笔记本计算机.大型计算机等. 计算机的应用已渗透到社会的各个领域,正在改变着人们的工作.学习和生活的方式,推动着社会的发展.哪些方面? 1:科学计算 科学计算也称数值计算.计算机最开始是为解决科学研究和工程设计中遇到的大量数学问题的

一个头脑风暴的汇总

饭后无事,正好公司的TL有兴趣,闲聊聊 我先吐槽了上午一个培训老师的内容:根据需求抽象出一个领域模型(形式化),然后根据这些领域符号(无个CRUD),再写一个解释器/编译器,开发人员使用领域语言开发,这些领域符号通过解释器/编译器,得到可以执行的指令(可以是C代码,也可以是二进制),到这,有没有代码生成器的感脚 吐槽的点:(1)领域模型的正确性及扩展性,谁来保证(2)解释器/编译器的健壮性和正确性,谁来保证(编译器是使用Erlang来开发.正常的开发语言使用的是C)(3)好用的文档,谁来提供,会

C 语言中的基本语法要点

计算机语言的发展史: 机器语言---->汇编语言 ----> 高级语言( 1.面向过程  2.面向对象) 任何一个c程序是由一个或者多个程序段构成的,每个程序段都有自己的弄能,我们一般称这些程序段为函数.所以说c语言的程序都有由函数构成的 编译:把C语言代码翻译成0和1,它只会检测语法是否错误,不会检测main函数是否存在 工具:clang编译器  clang编译器需要安装 command line tools 指令: cc –c 文件名.c 编译成功,会生成一个.o文件 链接:其实就是把我们

C语言学习笔记(一)

一.计算机和软件常识 1.计算机运行原理 1)硬件基本组成:硬盘.CPU.内存 2.计算机只能识别0和1 1)0和1组成的指令 2)0和1组成的数据 3.计算机和软件的联系 1)软件的基本概念:指令的集合 2)软件的安装运行过程:安装在硬盘,运行在内存 3)为什么要开发软件:写出能控制计算机的指令 4.计算机语言 1)一门跟计算机打交道的语言 2)方便写出一连串的指令 二.计算机语言的发展史 1.机器语言 1)简介 所有代码里面只有0和1,每一条指令称为"机器指令". 2)优点: ※代

JS程序设计基础

一.什么是软件?什么是程序?什么是计算机语言? 软件:是完成某些特定功能,一到多个程序文件的组合. 程序:完成指定功能的指令. 计算机语言:人与人之间沟通使用的是自然语言.人与计算机进行沟通就使用的是计算机语言.换句话说,计算机语言就是用来和计算机进行交流的. 沃斯:程序 = 数据结构 + 算法 程序和软件之间的关系,就类似于生活中博客和书的关系. 二.计算机语言的发展史 计算机语言是从二十世纪40年代开始,大致分为3个阶段: 第一代计算机语言:机器语言:机器语言全部都是有0和1组成.可以被计算

菜鸟笔记 -- Chapter 3.1 计算机的基础

3.1 计算机的基础知识 每次想写些什么的时候,发现总是避不过计算机这块,在菜鸟笔记 Chapter 1 计算机从0讲起简单介绍一下计算机硬件,以后计划在线程和并发中详细介绍一下计算机的运行原理.这里我们还是先简单介绍一下计算机. 3.1.1 计算机 计算机(Computer)全称:电子计算机,俗称电脑.是一种能够按照程序运行,自动.高速处理海量数据的现代化智能电子设备.由硬件和软件所组成,没有安装任何软件的计算机称为裸机.常见的形式有台式计算机.笔记本计算机.大型计算机等. 计算机的应用已渗透

计算机由浅入深

计算机(computer)俗称电脑,是现代一种用于高速计算的电子计算机器,可以进行数值计算,又可以进行逻辑计算,还具有存储记忆功能.是能够按照程序运行,自动.高速处理海量数据的现代化智能电子设备. 由硬件系统和软件系统所组成,没有安装任何软件的计算机称为裸机.可分为超级计算机.工业控制计算机.网络计算机.个人计算机.嵌入式计算机五类,较先进的计算机有生物计算机.光子计算机.量子计算机等. 计算机发明者约翰·冯·诺依曼.计算机是20世纪最先进的科学技术发明之一,对人类的生产活动和社会活动产生了极其

UNIX C 总结

--day01--王建立QQ:2529866769今天的内容:一.计算机的框架什么是操作系统?(汽车)加油系统 油门 用户跟加油子系统交互的窗口.(接口)方向系统 方向盘 用户跟方向系统的交互接口.导航系统 ...汽车的操作系统有很多的子系统来完成.这些子系统互相协调工作,达到用户的目的.操作简练.效率高.安全性比较高.... 接口 多个子系统 每个子系统负责单一的工作.操作环境 驾驶员位置 是不是驾驶员直接控制汽车的硬件?通过接口间接控制硬件的. 看不见的 透明框架 组件操作系统管理硬件并且为