编程语言发展史上有哪些趣事?

1、世界上第一个可编程的机器是由法国人Joseph Marie Jacquard于1801年发明的雅卡尔织布机,使用打孔卡片进行编程,控制织布机织出不同图案的布

2、英国诗人拜伦的女儿、数学家Ada Lovelace描述了一个计算伯努利数的算法和程序,被认为是最早的计算机程序,并被尊为第一位程序员。但是,1815年才出生的她,不可能比上一则说的Jacquard更早地进行编程工作。后来美国国防部组织开展研发的Ada语言以这位女数学家的名字命名。

3、我们一般认为1957年发明的Fortran是世界上第一门高级编程语言,而实际上早在1942至1945年,发明了世界上第一台图灵完全的通用数字计算机Z3的德国工程师Konrad Zuse还研发了一种叫作Plankalkül的语言。可惜的是,Z3在1944年柏林轰炸中被炸毁,Plankalkül在战争结束前既没有正式发表,也没有被实现。这门语言的设计一直到了1972年才被正式发表出来,而1998年第一个该语言的编译器才首次被实现。这门语言对后世的编程语言设计几乎没有任何影响,但是它却考虑了包括赋值语句、子程序、条件判断、循环、浮点小数计算、数组、拥有层次结构的结构体、断言、异常处理、结果导向执行(注:书上写作目标搜寻,英文似乎是goal-directed execution)等后来许多语言都不具有的功能,这些设计在当时以及之后的很长一段时间内都是非常具有先进性的。

4、著名计算机科学家、图灵奖得主John McCarthy于1958年发明了LISP语言,但是LISP这种迥异于其他语言的表达方法S-expression并不是他原本的设计,John McCarthy原本设计了一种叫作M-expression的表达方法,而S-expression则是一种中间语言。令他万万没有想到的是,最后流行开的是那个中间语言S-expression。另外LISP具备垃圾回收、异常处理等后来高级语言的许多特性,也是一门很先进的语言,不过这些已有许多文章进行描述,这里就不多说了。

M: (A B C)

S: (QUOTE (A B C))

M: car[x]

S: (CAR X)

M: car[append[(A B C); (D E F)]]

S: (CAR (APPEND (QUOTE (A B C)) (QUOTE (D E F))))

5、Guido van Rossum喜欢看喜剧团体Monty Python,所以发明了一个编程语言叫作Python。同样的,Python自带的那个IDE,IDLE名字来源于该团体的成员Eric Idle。此外,用来表示垃圾邮件的单词spam也是出自Monty Python这部作品,而这个单词在剧中指的是Spam品牌的午餐肉。

6、编程语言Perl的名字来源于珍珠Pearl,发明者Larry希望给语言起一个简短而有积极含义的名称。受到这个影响,松本行弘在发明Ruby的时候也从珠宝中选择名字,并且选择了Ruby。松本还提到,Ruby还跟诞生石(birthstone)有关,可是生于4月的松本行弘为什么选择了七月份出生的同事的诞生石红宝石呢,一定是好基友啊。

7、JavaScript的命名还真跟Java有关,所以他们不是雷锋和雷峰塔的关系,更像是印度和印度尼西亚的关系。Netscape希望这是一个Java的客户端版本,一种轻型的脚本语言,并且不像Java和C++那样针对专业的开发人员。

8、Lua的意思是月亮女神,是由三个巴西人Roberto Ierusalimschy、Waldemar Celes、Luiz Henrique de Figueiredo发明。发明的原因是巴西石油公司(当然,是一个国企)PETROBRAS没办法使用指定的硬件,使用公众的资金需要通过一系列的严格手续,并且现有设备中什么平台什么系统都有,所以Lua被设计成一个基于ANSI C开发可以任意跨平台的语言。

9、Smalltalk现在已经很难见到,但是他影响了我们今天还在使用的许许多多语言,以及后来的所有面向对象编程语言的开发者。

10、现在iOS开发者所使用的、在现在大红大紫的Objective-C,是一个和C++同岁的语言,都是早期对C语言进行拓展的面向对象编程的开拓者。不过iOS上使用的Objective-C 2.0,跟Objective-C的作者Brad Cox没有一点关系,“除了我喜欢Apple的产品以外,我同他们没有什么关系”。

时间: 2024-11-04 05:23:40

编程语言发展史上有哪些趣事?的相关文章

第十四章 软件、硬件发展史上的风风雨雨中的一声悲叹!

第十四章   软件.硬件发展史上的风风雨雨中的一声悲叹! 睡不着.感而写之. 忠言逆耳.良语苦口.高山流水.曲高和寡. 我的感觉,计算机已经发展到了一个死胡同.我们似乎只是在兜圈子,从最初的汇编写的UNIX操作系统,到如今的C语言写的WINDOWS.LINUX.我 们应该反思.到底技术上进步了很多?还是原地兜圈子?从汇编,到C语言.脚本语言,到C++.C#.JAVA,到VB等等所谓的高级语言:似乎取得很多进步了.我们面向对象编程啊,抽象了类.逐步贴近自然语言了.真的?我极端怀疑!人类的自然语言描

1.编程语言发展史与Python简介

1.编程语言发展史:1.1机器语言计算机内部只能识别二进制代码,用二进制代码0和1描述的指令称为机器指令,全部机器指令的集合构成的计算机语言称为机器语言.该语言开发效率特别低,运行效率高.1.2汇编语言将机器语言的二进制指令变成英文单词,稍微提高了可读性和开发效率,程序员写完程序后通过汇编器(类似于高级语言的编译器)将汇编代码转化为机器语言然后交给CPU运行.1.3高级语言编译型:相较于汇编语言来说代码可读性.开发效率有所改善,程序员写完程序后通过编译器(比如C语言的GCC)将代码转化为机器语言

编程语言发展史

1.编程语言发展史:1.1机器语言计算机内部只能识别二进制代码,用二进制代码0和1描述的指令称为机器指令,全部机器指令的集合构成的计算机语言称为机器语言.该语言开发效率特别低,运行效率高.1.2汇编语言将机器语言的二进制指令变成英文单词,稍微提高了可读性和开发效率,程序员写完程序后通过汇编器(类似于高级语言的编译器)将汇编代码转化为机器语言然后交给CPU运行.1.3高级语言编译型:相较于汇编语言来说代码可读性.开发效率有所改善,程序员写完程序后通过编译器(比如C语言的GCC)将代码转化为机器语言

编程语言发展史+python介绍

一.编程语言发展史 1.机器语言 机器能理解语言,二进制,0,1,0,1...... 是直接操作硬件的的底层语言.执行效率高,开发效率底,跨平台性差. 2.汇编语言 通过英文字符组成的二进制,直接操作系统,也是底层语言,执行效率略低,开发效率高,跨平台性差. 3.高级语言 就是人类的语言,有逻辑性,执行效率高,开发效率低,跨平台. 高级语言分为:编译型语言 和 解释型语言 编译型:如c,c++,php语言,整个文件全部编译出来,不能一条一条的执行,出现问题就得从头编译,从头写代码. 解释型:如c

编程语言发展史以及变量

编程语言发展史 1.机器语言 优点:执行速度快 缺点:开发效率非常低,可观赏性差,容易出错 2.汇编语言 优点:执行速度快 缺点:开发效率低,可观赏性差 3.高级语言 c语言,c++,c#,java,php,python,go 优点:开发效率高 缺点:执行效率低 python解释器 IT行业定律: 记住不要下最新的版本 版本分类: python 2.X python 3.X 建议:最好下python3.X的版本,因为2.X的版本2020年以后官方就不再维护了 python的两种执行方式: 1.交

编程语言历史

1940之前 第一个编程语言比现代的计算机还早诞生.首先,这种语言是种编码(en:code). 于1801年发明的提花织布机(或称甲卡提花织布机,英文:en:Jacquard loom),运用打孔卡上的坑洞来代表缝纫织布机的手臂动作,以便自动化产生装饰的图案. Ada Lovelace在1842年至1843年间花费了九个月,将意大利数学家Luigi Menabrea关于查尔斯·巴贝奇新发表机器分析机的回忆录翻译完成.她于那篇文章后面附加了一个用分析机计算伯努利数方法的细节,被部分历史学家认为是世

python 面向对象设计思想发展史

这篇主要说的是程序设计思想发展历史,分为概述和详细发展历史 一,概述 1940年以前:面向机器 最早的程序设计都是采用机器语言来编写的,直接使用二进制码来表示机器能够识别和执行的 指令和数 据.简单来说,就是直接编写 0 和 1 的序列来代表程序语言.例如:使用 0000 代表 加载(LOAD),0001 代表 存储(STORE)等. 机器语言由机器直接执行,速度快,但一个很明显的缺点就是:写起来实在是太困难了,一旦你 发现自己 写错了,改起来更蛋疼!这样直接导致程序编写效率十分低下,编写程序花

【Python3之面向对象的程序设计】

一.面向对象的程序设计的由来 1.第一阶段:面向机器,1940年以前 最早的程序设计都是采用机器语言来编写的,直接使用二进制码来表示机器能够识别和执行的指令和数据. 简单来说,就是直接编写 0 和 1 的序列来代表程序语言.例如:使用 0000 代表 加载(LOAD),0001 代表 存储(STORE)等. 优点:机器语言由机器直接执行,速度快: 缺点:写比较困难,修改也麻烦,这样直接导致程序编写效率十分低下,编写程序花费的时间往往是实际运行时间的几十倍或几百倍. 由于机器语言实在是太难编写了,

一 面向对象定义

一 面向对象的由来 一.概述 二.详细发展历史 二 什么是面向对象设计以及为什么要有面向对象 三 类与对象 四 属性查找 五 绑定到对象方法的特殊之处 六 对象之间的交互 一 面向对象的由来 一.概述 1940年以前:面向机器 最早的程序设计都是采用机器语言来编写的,直接使用二进制码来表示机器能够识别和执行的指令和数 据.简单来说,就是直接编写 0 和 1 的序列来代表程序语言.例如:使用 0000 代表 加载(LOAD),0001 代表 存储(STORE)等. 机器语言由机器直接执行,速度快,