試想像你要在電腦上編程,在電腦剛發明的1940年代,編程並不如現在這樣用鍵盤和編程語言。在舊式計算機如ENIAC等,編程涉及操縱數千個開關和電纜,遵循人類給予計算機的指令流程去做。一開始的編程語言是機器語言,讓電腦硬體能夠直接識別的指令,但以二進制代碼顯示的這個語言對人類十分不友好。於是人們改用簡短的字串和較為整齊的語法來取代機器語言的1與0組合,亦叫做組合語言。發明這個組合語言的人是 Kathleen Booth 。她是最早從事軟件工作的程序員之一,並因發明組合語言 (Assembly Language)而聞名。
Kathleen Booth 在倫敦大學伯克貝克學院中建造「電腦」
Kathleen Booth 於 1922 年出生於英國伍斯特郡 Stourbridge 的 Kathleen Britten。當年大學裡還沒有任何電腦科學的課程,她在倫敦大學取得數學碩士學位,並在同一間大學獲得應用數學博士學位。
同樣在1946年,她開始在倫敦大學伯克貝克學院擔任研究助理,後來成為研究員和講師。
在倫敦大學伯克貝克學院裡,Kathleen Booth 及其丈夫開始研究計算機。儘管他們的團隊認為是早期英國計算機中最小的一個,但從1947年到1953年,他們生產了三台機器:ARC(自動繼電器),SEC(簡易電子計算機)和APE(X)C(通用電子(人造絲)計算機)。以他們的規模跟有限的資金來說,這是一項十分出色的成就。
發明早期組合編程: ARC 組合語言
Booth定期發表有關她在 ARC 和 APE(X)C系統上工作的論文,並與丈夫共同編寫了「自動數字計算器」(Automatic Digital Calculators),其中包括 ARC 組合編程語言。
在計算機編程的那些日子裡,程序必須直接用機器代碼編寫,機器代碼是計算機解釋和操作的一系列0和 1。
為了讓程序員以助記符形式編寫機器指令,使彙編程序轉換為機器代碼,從而使計算機編程更容易,更可靠,在1950年,Kathleen Booth 創造了世界上第一個彙編語言 ARC(自動中繼計算器)。 Booth在英國伯克貝克學院工作期間幫助創建了ARC 組合編程語言。
在該報告中,她首先解釋了我們現在稱之為指令的訂單是如何通過加載到某種存儲中的0和1來表示的,並使用助記符(Mnemonics)來代替和表示特定低級機器語言的操作在簡約符號中。
Kathleen Booth 於1957年在Birkbeck學院與Andrew Booth和J.C.Jennings共同創辦了計算機科學與信息系統學院,並在 1958年開始教授編程課程。
Kathleen Booth 開創性工作的另一個例子,包括編寫一個程序來模擬一個神經網絡,研究動物識別模式的方式。 在她的職業生涯中,Booth發表了許多關於編程技術,語言的論文,並為今天的現代計算機中使用的設計和編程做出了貢獻。
Booth於1962年離開Birkbeck學院,兩人都搬到加拿大,在薩斯喀徹溫大學工作,然後在1972年在Lakehead大學工作。儘管她於1978年從Lakehead退休,但她在 1993 年時,她和她的兒子亦發佈了題為使用神經網識別海洋哺乳動物的系統,當時她已經71歲。
相對現在我們用的 Python 、Java 來說,學習與組合語言是相當難的一件事,同時這方面的專家亦變得越來越珍貴。能夠不需要擔心機械最底層的運作,用近乎英語的方式來寫程式故然是好事,但我們也不應該遺忘上一代的人要寫軟件有多麼難,和他們創造出來的珍貴成果。
這篇文章 Assembly Language 的誕生:最早期的 ARC 組合語言之母 Kathleen Booth 最早出現於 TechApple.com。