计算机语言发展史

    自从人类进入信息时代以来,人机交流就成了主流中的主流,但是,计算机并不能直接读懂我们人类的语言,这时候我们就需要有一种独特的语言来实现人机交流。正如此,计算机语言(Computer Language)应运而生,计算机语言就像是人与计算机交流的媒介,人类通过计算机语言将一系列命令传给计算机,使计算机进行工作,这一系列命令包括数字、字符和语法规划
    计算机语言的发展也不是一蹴而就的,用四个字简述发展过程,就是“更简更强”,就像生物进化,生物从低级进化成高智慧生物,就像甲骨文发展,从开始的兽型语言一步步发展到如今的简体汉字。计算机语言的发展也是一步步进行的,总体来说,计算机语言的发展可以分为三个大阶段第一代语言,第二代语言,第三代语言,这三代语言分别对应机器语言汇编语言高级语言

早期计算机

第一代语言:机器语言

    机器语言的官方定义为:

机器语言是指一台计算机全部的指令集合

    我们都知道,计算机的基本计算方式都是基于“0”和“1”组成的二进制数(我们平常使用的数字是十进制数)的计算,二进制是计算机语言的基础。计算机刚诞生的时候,人们没办法通过简便的语句让计算机去实现所想实现的效果,于是,只能通过写入一串又一串由“0”和“1”组成的指令序列交由计算机执行,这种计算机能够识别的指令序列,就是机器语言。使用机器语言非常痛苦,因为每一条指令序列都长而杂,无论是输入速度还是修改错误程序时,都十分的复杂。
    因为机器语言都是一条条“0”和“1”组成的指令序列组成的,所以由机器语言写出来的程序就是一个又一个的二进制文件。在用机器语言编写程序时,指令是不可分割的最小单元。除此之外,因为每台计算机的指令系统往往不同,所以,在一台计算机上执行的程序要想在另外一台计算机上实现同样的效果,往往需要另编程序,这就导致工作的重复繁杂。但是,因为每一条机器语言都是针对特定型号计算机的语言,这种代码直接输入给计算机使用,不需要任何转换,故而所有运算效率是所有语言中最快的。机器语言,就是我们所说的第一代语言


    为了彻底了解机器语言,我们需要对二进制串的计算有着基础的了解,会对二进制数进行一定的计算。从我们平常的数字开始说起,可能跟人类有十根手指有关,人类使用的都是十进制数

十进制基于位进制和十进位两条原则,即所有的数字都用10个基本的符号表示,逢十进一,同时同一个符号在不同位置上所表示的数值不同,符号的位置非常重要。基本符号是0到9十个数字。要表示这十个数的10倍,就将这些数字右移一位,用0补上空位,即10,20,30,…,90;要表示这十个数的10倍,就继续左移数字的位置,即100,200,300,…。要表示一个数的1/10,就右移这个数的位置,需要时就0补上空位:1/10位0.1,1/100为0.01,1/1000为0.001,这就是我们平常所学习的十进制数

    但计算机是读不懂人类的十进制语言的,此时,就需要由“0”和“1”组成的二进制语句来对计算机下达命令,正如十进制是逢十进一,二进制就是逢二进一,假设有一个二进制串11001,该二进制串的标准书写如下:

(11001)2或 (11001)B
    该二进制串的计算方法可以这么表示:
1×2⁴+1×2³+0×2²+0×2¹+1×2º
    可以看到,其实将一个二进制串转化为十进制串非常的简单,只需要对应二进制串中的每一个位数的数字乘以2的当前位数减1次幂,再将所有结果相加,即可将将一个二进制串转化为十进制串。

机器能读懂的机器语言

第二代语言:汇编语言

为了减轻使用机器语言编程的痛苦,人们进行了一种有益的改进:用一些简洁的英文字母、符号串来替代一个特定的指令的二进制串,比如,用"ADD"代表加法,"MOV"代表数据传递等等,这样一来,人们很容易读懂并理解程序在干什么,纠错及维护都变得方便了,这种程序设计语言就称为汇编语言,即第二代计算机语言。然而计算机是不认识这些符号的,这就需要一个专门的程序,专门负责将这些符号翻译成二进制数的机器语言,这种翻译程序被称为汇编程序。
汇编语言同样十分依赖于机器硬件,移植性不好,但效率仍十分高,针对计算机特定硬件而编制的汇编语言程序,能准确发挥计算机硬件的功能和特长,程序精炼而质量高,所以至今仍是一种常用而强有力的软件开发工具。
汇编语言的实质和机器语言是相同的,都是直接对硬件操作,只不过指令采用了英文缩写的标识符,更容易识别和记忆。它同样需要编程者将每一步具体的操作用命令的形式写出来。
汇编程序的每一句指令只能对应实际操作过程中的一个很细微的动作,例如移动、自增,因此汇编源程序一般比较冗长、复杂、容易出错,而且使用汇编语言编程需要有更多的计算机专业知识,但汇编语言的优点也是显而易见的,用汇编语言所能完成的操作不是一般高级语言所能实现的,而且源程序经汇编生成的可执行文件不仅比较小,而且执行速度很快。

第三代语言:高级语言

高级语言有:BASIC(True basic、Qbasic、Virtual Basic)、C、C++、PASCAL、FORTRAN、智能化语言(LISP、Prolog、CLIPS、OpenCyc、Fazzy)、动态语言(Python、PHP、Ruby、Lua)等等。- 高级语言源程序可以用解释、编译两种方式执行。通常用后一种。
高级语言是绝大多数编程者的选择。和汇编语言相比,它不但将许多相关的机器指令合成为单条指令并且去掉了与具体操作有关但与完成工作无关的细节,例如使用堆栈、寄存器等,这样就大大简化了程序中的指令。由于省略了很多细节,所以编程者也不需要具备太多的专业知识。 高级语言主要是相对于汇编语言而言,它并不是特指某一种具体的语言,而是包括了很多编程语言,流行的VB、VC、FoxPro、Delphi等,这些语言的语法、命令格式都各不相同。

高级语言的发展
特别要提到的:在C语言诞生以前,系统软件主要是用汇编语言编写的。由于汇编语言程序依赖于计算机硬件,其可读性和可移植性都很差;但一般的高级语言又难以实现对计算机硬件的直接操作(这正是汇编语言的优势),于是人们盼望有一种兼有汇编语言和高级语言特性的新语言——C语言。
高级语言的发展也经历了从早期语言到结构化程序设计语言,从面向过程到非过程化程序语言的过程。相应地,软件的开发也由最初的个体手工作坊式的封闭式生产,发展为产业化、流水线式的工业化生产。
高级语言的下一个发展目标是面向应用,也就是说:只需要告诉程序你要干什么,程序就能自动生成算法,自动进行处理,这就是非过程化的程序语言。

这是计算机历史中的一些发展,我们学习东西要知其然并知其所以然,了解事务要了解本质历史,虽然这一篇枯燥乏味,但是如果你耐心看下去,相信也会收获一定的知识,能够为踏入Java大门有充分的准备

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值