2010-05-10 47 views
3

你怎么能告诉一个正常的人(即你的妈妈,祖母,你的小弟弟)第一个程序是怎么写的?他们问这个问题很多,我真的不能给出他们能理解的答案。你怎么能告诉一个正常人关于第一个程序?

+9

丹尼斯里奇说:“让这里有C”,那里有C,这很好。 – 2010-05-10 18:51:19

+0

你刚刚偶然发现人们为什么要付钱给代码 - 理解代码的能力并不常见。 – 2010-05-10 18:52:36

+0

回答“最初的程序写得怎样”这个问题最难的部分。正在定义“程序”。谨慎阐述? – 2010-05-10 18:53:52

回答

7

这取决于你如何定义的东西。第一台计算机主要通过重新安排跳线来编程。稍后只有一点点内存被添加到存储内存计算机中。这些程序的第一个程序是通过打开或关闭开关来为一个字设置0或1,然后(当它们都被设置为正确的值时)切换另一个开关以将该字“推”到内存中,并设置“当前位置“反对下一个存储器地址。

在计算机有内存后,相同的基本思想继续用于初始引导程序 - 例如,曾经有一段时间,我为Control Data主机编写代码,该主机具有一组要切换的开关引导程序(尽管在这种情况下,它们位于称为“PPU”的辅助计算机上)。我也(很久以前)通过在前面板交换机上切换引导代码引导了DEC PDP-8的一个相当古怪的变体(即使那是几十年前,当时有问题的计算机已经过时) 。

+1

听到这些早期的“机械大脑”总是令人惊叹。我想在不得不为每一个切换一个开关后,冲孔卡片将进入舞台......对吧? – stakx 2010-05-10 19:20:30

+0

早在70年代中期,IMSAI家用电脑的卖点之一就是前面板开关比Altair的手指更扁平更容易。 – 2010-05-10 19:26:07

+0

@大卫:是的 - 他们也是。缺点是IMSAI的交换机*彼此相邻,因此轻松地将它指向“隔壁”并将其更改为您想要的那个位置会更容易。 – 2010-05-10 19:33:10

1

也许你会发现你在维基百科回答:Bootstrapping。基本上它比编程语言更关注编译器,因为第一个程序是在其他机器上或手写的,例如,使用打卡。

10

简单,将它们发送到Ada Lovelace的维基页面。她写了一个“节目”来计算使用查尔斯·巴贝奇的Analytical Engine于1843年

期间,1842年至1843年九个月期间,洛夫莱斯翻译意大利数学家路易吉Menabrea的回忆录Babbage的最新提议的机器上一组伯努利数的,分析引擎。随着文章,她附加了一套笔记。笔记比回忆录本身更长,包括(G节),详细介绍一种用引擎计算伯努利数字序列的方法,如果分析引擎已经建成,它可以正确运行。基于这项工作,Lovelace现在被广泛认为是第一个计算机程序员,她的方法被公认为世界上第一个计算机程序。

+0

虽然这可能有点历史来回答这个问题,但您完全可以从我那里获得+1的有趣的计算历史链接。 – stakx 2010-05-10 19:25:31

+0

@stakx:谢谢,但这非常**是答案。 – 2010-05-10 19:40:31

+0

[email protected]。:_只需重新阅读原始问题,其实你是对的。这个问题至少部分是用于解释的;我认为OP想知道第一个程序是如何编写的,考虑到还没有任何编译器或解释器可用_。 – stakx 2010-05-10 20:20:48

相关问题