关于历史:世界上第一种计算机编程语言?

关于历史:世界上第一种计算机编程语言?

World's First Computer Programming _Language_?

好-有点不确定的问题(Eniac插件板上的插头模式是否为语言??),但竞争者包括:

  • 康拉德·祖斯(Konrad Zuse)的PlanKalkül(1940年代)-
    从未实施(通常
    被接受为第一个)。
  • 无论采用何种方式编程的Ada Lovelace(1840年代)
    艾达(Ada)-如果她是第一个
    程序员,正如大家所说,她
    必须使用了第一个编程
    语言,不是吗?再一次可能永远不会
    实施-但巴贝奇有
    任何可以被称为
    语言?
  • 图灵的描述
    他的图灵机(1936年论文)。在
    他实际上写的论文
    编程并模拟他们
    数学执行-那
    使它与(以及更早
    比)PlanKalkül在我的书中。
  • Machester Mark 1计算机(1952年)的自动编码-高水平编译,击败了Fortan(?)。图灵先生再次(!)。

  • Fortran(1950年代早期)-比Lisp领先了两年,并且无疑通过了嗅觉测试。但是它早于Mark 1自动编码吗?


PBS系列Connections提出了一个论点,即在瓷砖上打孔以控制在织机(大约1700s ??)上形成的图案是第一个编程"语言"。

接下来是演奏者的钢琴卷轴:纸上的代码,可读取并控制机器的操作。那是一种编程语言,不是吗?


DNA-还是必须涉及硅计算机? ;-)


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

更新:您可以阅读Lovelace在她的《关于查尔斯·巴贝奇(Charles Babbage)发明的分析引擎的草图》中的注释中所使用的注释。 Lovelace是翻译者,但是她对分析引擎编程的注释最终比原始出版物长了大约四倍。


DNA -- or does it have to involve silicon computers? ;-)

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


Konrad Zuse's PlanKalkül (1940s) - never implemented

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


我认为我们需要就"编程语言"的定义达成共识,以任何有用的方式回答这个问题。直接操纵机器代码是编程语言吗?


一开始有Ada Lovelace,然后Bill说"让C#来了",那里是光!


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

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


至少在声明性意义上,编程可以归结为顺序,交替和重复的组合。人们可能会认为食谱作者是程序员,因此很早就开始考虑。考虑一个食谱:它包含顺序(切片,然后剁碎,然后加热等等),交替(如果您想使其湿润,则烘烤40分钟,否则,请使其"呈蛋糕状"烘烤55分钟)分钟并重复(当面团不僵硬时,重复搅拌直到面糊光滑)。食谱可以追溯到数千年前。


分析引擎将使用的语言是它自己的机器代码,通过打孔卡输入以指示要执行的操作以及要执行的操作的列(有效寄存器)。有关更多详细信息,请参见这些注释。


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


推荐阅读

    linux控制台编程命令?

    linux控制台编程命令?,系统,工具,环境,命令,名称,标准,不了,工作,发行,基础,s

    linux编程常用命令?

    linux编程常用命令?,系统,工作,信息,命令,地址,管理,工具,网络,基础,目录,lin

    linux命令行模式网络?

    linux命令行模式网络?,网络,基础,系统,服务,管理,工作,命令,信息,中级,设备,l

    linux常用命令c语言?

    linux常用命令c语言?,系统,工作,信息,管理,基础,命令,地址,目录,简介,时间,li

    linux命令行模式登录?

    linux命令行模式登录?,系统,密码,信息,状态,情况,终端,环境,管理,电脑,位置,l

    linux退出命令模式?

    linux退出命令模式?,状态,档案,命令,环境,密码,终端,文件,模式,编辑,端口,lin

    linux命令模式加行?

    linux命令模式加行?,工作,地址,系统,命令,工具,正规,信息,时间,第一,模式,Lin

    linux命令行模式使用?

    linux命令行模式使用?,工作,地址,目录,信息,名称,系统,管理,命令,文件,标准,l

    linux命令行设置语言?

    linux命令行设置语言?,系统,管理,环境,国家,工具,电脑,软件,文化,底部,语言,l

    linux使用命令改语言?

    linux使用命令改语言?,系统,工作,管理,电脑,设备,字符集,中文,命令,语言,虚

    c语言写linux命令?

    c语言写linux命令?,系统,工具,代码,智能,工作,环境,情况,位置,命令,文件,如何

    linux切换成命令模式?

    linux切换成命令模式?,密码,系统,工具,模式,命令,首页,状态,图形界面,终端,

    linux命令行模式清页?

    linux命令行模式清页?,工作,系统,命令,信息,地址,目录,内容,文件,操作,功能,l

    linux汇编语言命令?

    linux汇编语言命令?,系统,地址,代码,数据,网络,平台,平均,位置,灵活,工作,汇

    linux进入命令行模式?

    linux进入命令行模式?,系统,地址,情况,工作,命令,终端,首页,信息,目录,界面,l

    linux汇编语言命令?

    linux汇编语言命令?,系统,地址,代码,数据,网络,平台,平均,位置,灵活,工作,汇

    编程解析linux命令?

    编程解析linux命令?,系统,标准,基础,设备,发行,电脑,工具,密码,名字,适当,如

    linux底线模式命令?

    linux底线模式命令?,系统,档案,密码,状态,工作,命令,模式,文件,明文,界面,lin

    linux启用命令模式?

    linux启用命令模式?,系统,密码,数字,首页,电脑,情况,终端,界面,模式,命令,安

    linux命令行模式联网?

    linux命令行模式联网?,系统,网络,地址,密码,软件,检测,信息,工具,终端,界面,l