2010-05-10 48 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

相關問題