首批程式設計師他們是如何程式設計的?

敘帝利發表於2017-02-06

首批程式設計師他們是如何程式設計的?

Joyce Wheeler 是首批使用的 EDSAC 的科學家之一

我們大家都記得自己用過的第一臺電腦。Joyce Wheeler 也不例外。但是她的情況略有不同,她是第一批使用電腦的人。

EDSAC 由英國劍橋大學莫里斯·威爾克斯(Maurice Wilkes)和他的團隊受馮·諾伊曼的《First Draft of a Report on the EDVAC》的啟發,以EDVAC為藍本,設計和建造 EDSAC,1949年5月6日正式執行,是世界上第一臺實際執行的儲存程式式電子計算機。所有現代電腦的鼻祖之一。

EDSAC使用了約3000個真空管,排在12個櫃架上,佔地5×4米,功率消耗12Kw。

EDSAC 使用水銀延遲線作儲存器,分佈在32個槽中,每個槽5英尺長,裡面包含32個記憶體位置,共1024個位置。建造時只實現了一半,512個字,第二組於1952年新增.[3] 1952年增加一個磁帶儲存,但實際使用中不能良好工作。

輸入採用5路的穿孔紙帶,使用電子紙帶讀入機,速度為每秒 6·2/3 個字元,1949年10月改進為每秒16字元,1950年使用光電閱讀器,達到50字元每秒。輸出使用電傳打字機,速度6·2/3 字元每秒,1951年新增一個16字元每秒的紙帶打孔機。另外,EDSAC可以外接陰極射線管(CRT),可以用來觀察暫存器的值。 (摘自維基百科)

Joyce Wheeler 就是這批科學家之一。當時,她正在著名天文學家 Fred Hoyle 的指導下攻讀博士學位。

“我的工作是研究恆星內部的反應,”她說,“我對主序恆星在主序列上能保持多久特別感興趣。”

“我想知道恆星需要多長時間才會消失。”她解釋道。

“使恆星發光的核反應堆的內部原理是一個需要解決的難題,”她說,“描述其能量過程的數學方程非常複雜。”

“對於恆星來說,描述其行為和組成的是一組相當複雜的微分方程。”她補充說。

首批程式設計師他們是如何程式設計的?

EDSAC 幫助 Wheeler 博士研究恆星燃燒的過程

手工完成這些計算是不可能的。

“手工計算不可能精確無誤,”她說,“錯誤非常多。”

通過 Maurice Wilkes 發明的機器 EDSAC,可以準確的完成計算,這是 Wheeler 為了獲得高階學位要做的。

思考時期

首先,她必須學會編寫計算程式。

Wheeler 博士於 1954 年在劍橋大學開始攻讀博士學位的時候瞭解到 EDSAC,這緣於在早期的訪問中這臺機器曾公開展示過。

因為熱衷於自己的研究,她坐下來翻開一本描述如何程式設計的小冊子,通過手冊上的練習學會了程式設計。

首批程式設計師他們是如何程式設計的?

像 Joyce Wheeler 一樣的研究生只能在晚上使用 EDSAC

The little book was called WWG after its three authors Maurice Wilkes, David Wheeler and Stanley Gill.

那本小冊子被稱為 WWG,名字取自它的三位作者 Maurice Wilkes、David Wheeler 和 Stanley Gill 的頭字母。

在學習程式設計的過程中,Blackler 結識了 David Wheeler ,因為她的一個程式有助於確保 EDSAC 工作良好。隨後他們互相瞭解,墜入愛河,在 1957 年結婚。

如今 62 年過去了,她在那時是非常重要的人物,因為程式設計師(尤其女程式設計師)非常稀有。

也許是因為這種新情況,一門新學科和一臺開創性的機器,劍橋的計算機實驗室的氣氛並不是陽盛陰衰。

“你可能會被當成一個東西(object),有時會讓人不舒服,”她說,“但是並沒有因此成為一個男生隊。”

她說這是振奮人心的時刻,因為這臺機器可以幫助她完成工作。她很快就學會了程式設計,她的數學能力幫助她迅速掌握了語法,她不得不翻譯那些“討厭的方程”。

“但是它和數學一樣,”她說,“你知道這是你不應該做太久的事情之一。”

首批程式設計師他們是如何程式設計的?

程式設計的基礎是由 EDSAC 的創造者制定的

“我發現我每天的程式設計工作不能超過一定的時間,”她說,“之後你就不會有太大的進展。”

她說,程式設計問題的解決方案經常會在她從事一些更平凡的事情時被想出來,比如洗衣服或吃午飯。

“有時候,不要太過執迷於某件事,學會停下來,對於程式設計也是一樣。”

夜間工作

程式設計結束後,她可以讓 EDSAC 做數字運算。作為一個研究生,她不得不在晚上執行她的程式。她一般選擇在星期五的晚上。

“那很好,因為第二天沒有課。”她說。

作為一個操作員,只要簽字並提供操作記錄,她就可以單獨執行 EDSAC。

“很多時候,它會在夜間崩潰,也許有時你會很幸運可以讓它執行一整夜,”她說,“如果它真的崩潰了,那麼操作員就需要嘗試修復它。”

“他們甚至不讓任何清潔工靠近它。”她說。

Wheeler 博士已經用一個程式重新調整了 EDSAC 的兩個位元組的記憶體,如果這樣做沒有用,那麼她的工作就要暫停一晚上了。

儘管經常當機,但是關於不同恆星消亡的時間, Wheeler 已經取得了一些成績。

首批程式設計師他們是如何程式設計的?

國家計算機博物館陳放的 EDSAC 複製品

““我已經得到了關於恆星壽命的一些估值,”她說,“程式設計帶來的好處之一是你可以重複計算,迭代。手工是無法做到這一點的。”

“我們可以在程式中新增樣本數字,並且可以很容易地檢查它們,”她補充說,“我可以很快地檢查機器上的結果,這非常有用。”

在 20 世紀 50 年代,“很快”意味著機器執行一次程式需要 30 分鐘。然後將結果列印出來,讓研究人員仔細檢視他們得到的結果。然後需要重新程式設計,也許要等好幾天的時間才可以在 EDSAC 上執行一個稍作修改的程式。

儘管等待的時間漫長,但可以肯定的是, Wheeler 博士他們都是先行者。

“我們正在做的工作,不能使用任何其他方式。”她說。儘管按照現代的標準來看,EDSAC 很粗糙並且速度很慢,但是她已經看到一個革命悄然來臨。

“很顯然,有一天,當機器越來越快,許多問題將迎刃而解。”

打賞支援我翻譯更多好文章,謝謝!

打賞譯者

打賞支援我翻譯更多好文章,謝謝!

首批程式設計師他們是如何程式設計的?

相關文章