9

好的——一个未定义的问题(Eniac 插件板中的插件模式是一种语言吗??)但竞争者包括:

  • Konrad Zuse 的 PlanKalkül(1940 年代) - 从未实施(普遍接受为第一个)。
  • 无论 Ada Lovelace(1840 年代)用什么程序(不是 Ada)——如果她是第一个程序员,正如大家所说,她一定使用过第一种编程语言,不是吗?同样可能从未实现过——但巴贝奇有什么可以称为语言的东西吗?
  • 图灵对他的图灵机的描述(1936 年论文)。在论文中,他实际上编写了程序并以数学方式模拟了它们的执行——这使得它与我书中的 PlanKalkül 一样好(并且比它更早)。
  • Macchester Mark 1 计算机的自动编码(1952 年)- 编译,高级,击败 Fortan(?)。图灵先生再次(!)。

  • Fortran(1950 年代初期)- 击败 Lisp 几年,无疑通过了嗅探测试。但它是否早于 Mark 1 自动编码?

4

11 回答 11

16

PBS 系列 Connections 提出的论点是,在瓷砖上打孔以控制织布机上创建的图案(大约 1700 年代??)是第一种编程“语言”。

紧随其后的是演奏者钢琴卷轴:纸上的代码,由机器读取并控制机器的操作。那是一种编程语言,不是吗?

于 2008-09-17T17:05:02.827 回答
12

DNA——或者它是否必须涉及硅计算机?;-)

于 2008-09-17T17:23:41.003 回答
7

由于Ada Lovelace被广泛认为是第一位程序员,我将调查她所使用的符号集。

更新:您可以阅读 Lovelace 在她的笔记中使用的符号,该注释由 LF MENABREA的 Charles Babbage 发明的分析引擎草图。Lovelace 是翻译,但她描述分析引擎编程的笔记最终比原始出版物长了大约四倍。

于 2008-09-17T17:07:02.273 回答
3

我认为我们需要就“编程语言”的定义达成一致,才能以任何有用的方式回答这个问题。直接操作机器代码是一种编程语言吗?

于 2008-09-17T17:03:35.700 回答
3

Konrad Zuse 的 PlanKalkül (1940s) - 从未实施

实际上,Rojas等人发布了该语言的实现。大约在 2000 年左右。

于 2008-09-17T17:10:33.063 回答
3

DNA——或者它是否必须涉及硅计算机?;-)

好吧,如果你沿着这条路走,那么正确的答案必须是在 DNA 之前存在的RNA 。但是,我们有一个盲人程序员吗?;-)

于 2008-09-17T17:51:41.340 回答
2

一开始有 Ada Lovelace,然后 Bill 说“要有 C#”,然后就有了光!

于 2010-08-04T13:09:10.063 回答
1

假设将“编程语言”定义为“用于描述/控制数字计算机预期行为的文本符号”,我认为只有一个可能的答案:原始(数字)机器代码。

许多其他答案(例如烹饪食谱)很聪明,但不是关于编程本身,而是关于不同上下文或更一般意义上的描述/控制。

于 2009-01-03T17:31:04.250 回答
0

我会说实际使用的第一种编程语言是第一台存储程序计算机的机器语言,我相信它是 Baby: http: //www.computer50.org/

于 2008-09-17T17:03:15.857 回答
0

分析引擎将使用的语言是它自己的机器代码,通过打孔卡输入,指示要执行的操作和执行它的列(有效地注册)。有关详细信息,请参阅这些说明

于 2008-09-17T17:36:41.533 回答
0

至少在声明性意义上,编程归结为顺序、交替和重复的组合。人们可能会将配方作者视为程序员,因此是非常早期的人。考虑一个食谱:它包含顺序(切片,然后切碎,然后加热某某……),交替(如果你想要它湿润,然后烤 40 分钟,否则如果你想要它“蛋糕”烤 55分钟)和重复(当面团不僵硬时,重复搅拌直到面糊光滑)。食谱可以追溯到几千年前。

于 2008-09-17T17:44:22.577 回答