zoukankan      html  css  js  c++  java
  • 计算机程序设计语言历史

    计算机程序设计语言,通常简称为编程语言,是一组用来定义计算机程序的语法规则。它是一种被标准化的交流技巧,用来向计算机发出指令。一种计算机语言让程序员能够准确地定义计算机所需要使用的数据,并精确地定义在不同情况下所应当采取的行动。

    在过去的几十年间,大量的程序设计语言被发明、被取代、被修改或组合在一起。尽管人们多次试图创造一种通用的程序设计语言,却没有一次尝试是成功的。之所以有那么多种不同的编程语言存在的原因是,编写程序的初衷其实也各不相同;新手与老手之间技术的差距非常大,而有许多语言并对新手来说太难学;还有,不同程序之间的运行成本(runtime cost)各不相同。

    有许多用于特殊用途的语言,只在特殊情况下使用。例如,PHP专门用来显示网页;Perl更适合文本处理;C语言被广泛用于操作系统和编译器的开发(所谓的系统编程)。

    高级程序设计语言(也称高级语言)的出现使得计算机程序设计语言不再过度地倚赖某种特定的机器或环境。这是因为高级语言在不同的平台上会被编译成不同的机器语言,而不是直接被机器执行。最早出现的编程语言之一FORTRAN的一个主要目标,就是实现平台独立。

    软件的产生始于早期的机械式计算机的开发。从19世纪起,随着机械式计算机的更新,出现了穿孔卡片,这种卡片可以指导计算机进行工作。但是直到20世纪中期现代化的电子计算机出现之后,软件才真正得以飞速发展。在世界上第一台计算机ENIAC上使用的也是穿孔卡片,在卡片上使用的是专家们才能理解的语言,由于它与人类语言的差别极大,所以我们称之为机器语言。也就是第一代计算机语言。这种语言本质上是计算机能识别的唯一语言,但人类却很难理解它,以后的计算机语言就是在这个基础上,将机器语言越来越简化到人类能够直接理解的、近似于人类语言的程度,但最终送入计算机的工作语言,还是这种机器语言。高级语言的任务就是将它翻译成易懂的语言,而这个翻译工作可以由计算速度越来越高、工作越来越可靠的计算机自己来完成。

      计算机语言发展到第二代,出现了汇编语言。比起机器语言,汇编语言大大前进了一步,尽管它还是太复杂,人们在使用时很容易出错误,但毕竟许多数码已经开始用字母来代替。简单的“0、1”数码谁也不会理解,但字母是人们能够阅读并拼写的。第二代计算机语言仍然是“面向机器”的语言,但它已注定要成为机器语言向更高级语言进化的桥梁。

      当计算机语言发展到第三代时,就进入了“面向人类”的语言阶段。你可以阅读、并直接用人类的语言来输入。对我们汉语来说,目前还不能用中文汉字来输入指令,这主要是因为中文的输入还没有一个非常好的手段。第三代语言也被人们称之为“高级语言”。高级语言是一种接近于人们使用习惯的程序设计语言。它允许用英文写解题的计算程序,程序中所使用的运算符号和运算式子,都和我们日常用的数学式子差不多。例如用BASIC高级语言,要想计算7×6的结果,只需写出 PRINT7*6即可,送入计算机后将自动进行计算并打印出结果。一般人都能很快学会使用计算机,并且完全可以不了解机器指令,也可以不懂计算机的内部结构和工作原理,就能编写出应用计算机进行科学计算和事务管理的程序。

      高级语言容易学习,通用性强,书写出的程序比较短,便于推广和交流,是很理想的一种程序设计语言。

      高级语言发展于50年代中叶到70年代,有些流行的高级语言已经被大多数计算机厂家采用,固化在计算机的内存里。如 BASIC语言,现在已有128种不同的 BASIC语言在流行,当然其基本特征是相同的。

      除了BASIC语言外,还有FORTRAN(公式翻译)语言、 COBOL(通用商业语言)、 C语言、 DL/I语言、 PASCAC语言、ADA语言等250多种高级语言。

      高级语言是一种动用语言,要完成某一个简单的计算步骤,你必须详细准确地给出每一条指令。如解决经营管理活动中天天都要碰到的财务清账、库存等问题,就须编无数条程序,而情况一经变化,原有的设计程序则要修改,这样就使错误的可能性增大,工作效率大大降低。为了解决这个问题,第四代计算机语言,即“实用语言”出现了。

      第四代语言是使用第二代第三代语言编制而成的,每一种语言都有其特定的应用范围。实际上,实用语言发展到今天已出现了一些有运用性质的第四代语言,如“LO- TOS1—2—3”。第四代语言的特点就是它们只需要操作人员输入原始数据,并命令它们执行。至于怎样执行则由它们本身来决定的,它已经在相当程度上替代了人脑的工作。第四代语言的特点还在于:操作者几乎不需要经过特殊训练,几乎所有的“实用语言”都有“帮助(Help)”功能,你可以遵照计算机给出的指示来完成你的工作,第二次就完全不用帮助了!

  • 相关阅读:
    spring aop的@Before,@Around,@After,@AfterReturn,@AfterThrowing的理解
    详解Spring 框架中切入点 pointcut 表达式的常用写法
    Spring计时器StopWatch使用
    Java反射-解析ProceedingJoinPoint的方法参数及参数值
    MySQL 中 datetime 和 timestamp 的区别与选择
    java在注解中绑定方法参数的解决方案
    spring aop的@Before,@Around,@After,@AfterReturn,@AfterThrowing的理解
    LocalDateTime和Date的比较与区别
    idea启动java服务报错OutOfMemoryError: GC overhead limit exceeded解决方法
    java在注解中绑定方法参数的解决方案
  • 原文地址:https://www.cnblogs.com/ren120165809/p/9906469.html
Copyright © 2011-2022 走看看