分享

让小朋友懂一点计算机(八)|编程语言的发展历史

 昵称11935121 2018-08-15

二进制

现代计算机都只能理解二进制代码,也就是0和1,其实现代的编程的语言其实对于计算机来说是看不懂的,必须要转换成二进制的形式计算机才可以运行,因此这种二进制的编程语言称为机器语言或者机器码。而现代编程语言则尽可能地满足人类的需求。这就像汉语和英语还有法语都可以表示你好这个意思一样。语言都是相通的,本质并没有区别。

助记符(汇编器)

在计算机早期阶段,必须用机器码来写程序。首先,人们会把要写的程序用比较程序化的描述记录下来(这里使用的是英语),这种对程序的高层次的描述,叫伪代码,在纸上写好伪代码之后,用操作码表将伪代码转换成二进制机器码。然后交给计算机来执行。这种方法一听就很繁琐。

让小朋友懂一点计算机(八)|编程语言的发展历史

所以在1940-1950年代,人们将机器码和一些英文单词对应起来,给每一个操作码起一个简单的名字,叫“助记符”,助记符后面紧跟数据,形成完整的指令,这样程序读起来会更直观一些。

但是助记符方便了人类,但是计算机只能理解二进制操作码,于是程序员用二进制程序来帮忙,它可以读懂文字指令,自动转换为二进制指令,将这些助记符指令转换为机器码。

这种转换程序就叫做汇编器(Assembler),汇编器读取用汇编语言写的程序,然后转换为机器码,一般来说,一条汇编指令对应一条机器指令。

让小朋友懂一点计算机(八)|编程语言的发展历史

这是一段汇编程序

编译器

汇编语言和底层硬件的连接很紧密,因此汇编语言还是很繁琐,很麻烦。

葛丽丝·霍普博士也觉得汇编语言很麻烦,于是设计了一个高级编程语言,叫算术语言版本0(Arithmetic Language Version 0)简称A-0。

一行高级编程语言,可能会转换成几条或者几十条二进制指令。为了做到这种复杂的转换,霍普博士在1952年创造了第一个编译器。这种编译器可以将高级语言转换为低级语言,例如汇编语言或者机器码。

例如计算两个数的值:

让小朋友懂一点计算机(八)|编程语言的发展历史

左边是汇编语言,右边是Python语言

早期计算机编程语言

1957年IBM发明了FORTRAIN语言,1950年代大多数编程语言和编程语言只能运行在一种计算机上,如果升级电脑,那么一些软件的代码就要重写。这样很不方便,因此早1959年社会各界组成了一个联盟——数据系统语言联盟,由葛丽丝·霍普博士担任顾问,来开发一种通用的编程语言,可以在不同的机器上运行。

最后COBOL语言诞生了(Common Business-Oriented Language)普通面向商业语言。

为了兼容不同的底层硬件,每个计算机架构需要一个COBOL编译器,不同的计算机架构有不同的编译器,COBOL语言被不同的编译器翻译成不同的机器码,但是执行起来的结果都是一样的。这就是一次编写,到处运行,现代大多数编程语言都是如此。

这一变化大大降低了编程的门槛。现在,科学家、工程师、医生、小学生都可以学会编程。编程成为了大众化的工具。这使得人们更好地使用计算机。

现代编程语言的发展

随着硬件制造水平的突飞猛进,计算机编程语言也在快速发展。

1960年代有ALGOL、LISP、BASIC语言

1970年代有Pascal、C、Smalltalk语言

1980年代有C++、Objective-C、Perl语言

1990年代有Python、Ruby、Java语言

2000年之后有Swift、C#、GO语言

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多