Categories
程式開發

1969年的編程什麼樣?


在1965到1966年間,我決定成為一名程序員。我讀過一篇文章,裡面有一張流程圖的圖片,我想“這對我很合適”。 1967年我高中畢業的時候,還沒有大學教授編程,但索爾納有一門為期6個月的課程,後來變成了12個月,而且還可以申請學生貸款。所以我申請了。

那時為什麼想成為一名程序員?

在1965到1966年間,我決定成為一名程序員。我讀過一篇文章,裡面有一張流程圖的圖片,我想“這對我很合適”。 1967年我高中畢業的時候,還沒有大學教授編程,但索爾納有一門為期6個月的課程,後來變成了12個月,而且還可以申請學生貸款。所以我申請了。

與此同時,SJ(瑞典國有鐵路公司,當時是一家壟斷企業)發布了一個培訓項目的廣告,該項目提供為期一年的帶薪培訓,你可以學習SJ運營的所有不同部分。 SJ有一個計算機部門,所以我也申請了SJ項目,希望最終能留在那裡。

然而,SJ最終有700人申請50個職位,所以要經歷一個艱難的篩選過程,需要通過各種測試。我進去了!因為我需要工資來買房子,所以我接受了。

順便說一句,當SJ管理層發現培訓生項目手冊被同時發給了男女學生時,他們非常不高興!被這個項目錄取的女性不多,但我們是少數。

在培訓期間,我們參觀了SJ的所有部門,了解了從火車、鐵路到通訊方式的一切(SJ有自己的電線和電話線!)一年之後,我找到了一份工作,但是很無聊。最後,在1969年,我聽說SJ開始了一個內部的編程培訓項目,所以我申請了這個項目。經過更多的測試,我和另外三個人在1969年開始了編程培訓。我們中有兩個女孩和兩個男孩。

1969年的編程什麼樣? 1

1976年的IBM System/370參考資料。我在右邊寫了ÅÄÖ(5B、7B和7C),因為瑞典字母不包含在EBCDIC中。

那時的培訓怎麼樣?

首先,我們參觀了SJ的計算機部門,對什麼是計算機有了大概的了解。然後,我們到IBM上課,IBM在斯德哥爾摩的一幢大樓裡有一台“培訓機”。我們一個班大概有50到100人,但我們被分開了,每個房間8個人。我們看著教室前面的兩塊電視屏幕。在另一個房間的老師和黑板在屏幕上播放。每個老師大概有10個教室,每個教室都可以用麥克風提問,用按鈕吸引老師注意。超現代!

首先,我們學習了一點IBM操作系統,然後我們學習了PL/I,這是IBM自己的編程語言。那是Cobol的一個更現代化的版本,具有Cobol當時尚不具備的特性,比如生成表和查詢。所以PL/I在當時是一種更好的語言,也更簡單:你可以使用英語單詞、DO WHILE等編寫代碼。一個非常好的編程語言!

在瑞典,政府機構處於數據處理的前沿。銀行和其他機構遠遠落在後面。因此,在IBM的課程中,大多數是來自其他機構的人員,不過SJ走在最前沿。

在第一次上完IBM的課程後,我回到了SJ,開始了我的第一個實踐項目。我們四個人做了一個約會程序,你可以輸入男性和女性的特徵,然後用我們自己發明的算法在他們之間產生一個很好的匹配。在那之後,我們開始編寫產品代碼!

後來我參加了更多的課程,比如我用同樣的方式學習彙編語言。我接受的教育實際上只有這裡的一周和那門課,然後我們有了一位可以在工作中幫助我們的主管。

1969年的編程什麼樣? 2

我畫流程圖的模板,用於可視化數據是如何流動的以及事情發生的順序。

那時的工作怎麼樣?

首先,我們會畫流程圖,然後用鉛筆寫代碼。然後,我們將代碼交給打孔部門,代碼將被打在穿孔卡上。穿孔卡有80個列——72個用於程序,8個用於順序——所以每一行代碼最多72個字符。

你必須把代碼寫得很清楚,這樣操作打孔機的女性員工就能讀懂。在SJ工作幾年之後,我們有了一個專門閱讀我們代碼的人,這幫助很大。他們主要打數據卡:來自 SJ 的時間報告、每節火車車廂行駛了多遠等等。這台打孔機看起來像普通的打字機,可以在卡片上打孔。在每一列上,它也會打出明文字符。

剛開始的時候,程序很小,但後來可能會裝滿幾米長的卡片盒。每一行代碼都變成了一張穿孔卡。每行一條指令。打孔部門將程序(數千張卡)返還給我們。我們還必須創建“控制卡”,其編碼包括穿孔卡是否要編譯或執行以及它是什麼語言等等。控制卡有一個單獨的顏色。第一張卡片是工作卡,上面有我的名字,所以他們知道該把東西還給誰。

我們把打孔卡盒放在一張特殊的桌子上。操作員穿著白大褂來,取走盒子然後運行程序。

有時我們每天只有一次運行機會,因為我們程序員在機器大廳中的優先級最低。所以我們不得不同時做幾個項目來保持忙碌的狀態。

最後,這些卡片連同“睡衣紙(pajama paper)”一起返回,這是一個列表,其中包含錯誤代碼及行號。

1969年的編程什麼樣? 3

睡衣紙

我們有機會使用多台打孔機,這樣我們就可以自己進行小的修正。

然後我們必須創建測試文件,看看程序是否產生了預期的結果。如果沒有,就坐下來做“桌面測試”(用筆和紙思考),設法找出“到底什麼出了問題?”因此,可能需要一段時間才能使程序正確運行。

我們有好幾台機器。我們從一開始就有IBM 360,還有一些更老的機器。後來我們有了IBM 370。

70年代末,我們有了終端機。我們從來沒有自己的終端機,而是共用一個終端機房。當我們想要修改一個程序時,我們極力爭取才能獲得使用終端機的時間。程序會在屏幕上閃現,我們可以修改它。我們有黃色和棕色的Alfaskop終端機。在1979年離開SJ之前,我從未擁有過自己的終端機。

1969年的編程什麼樣? 4

Alfaskop 3700

那時有什麼挑戰?

SJ的計算機部門大約有40名程序員和系統工程師。我所有的同事,和我一樣,都是在公司內部接受培訓的,只有少數例外:有幾個和我年齡相仿的人,參加了我之前提到的在索爾納為期6個月的課程。但是除此之外,沒有其他的方法來學習這個——這是一個全新的職業!有些同事曾經是司機!大多數人甚至沒有高中文憑。

系統工程師的工作內容主要包括編寫說明書、程序的輸入和輸出等。作為程序員,我們是問題的解決者,我們製作流程圖,找出解決問題的方法。

機器大廳里大約有10名機器操作員。他們穿著白大褂,處理磁帶存儲、磁盤及將穿孔卡送入機器。我們很少被允許進入機器大廳的內室。入口有一個“封閉作業”的牌子。機房很大。早期的機器(IBM 1400)佔地10到20平方米,但後來就和台小冰箱那麼大了。

打孔部門由50名年輕女性組成。如果有來自SJ其他部門的任何訪問,那麼打孔部門總是最讓人感興趣的,因為SJ的大多數員工是男性!

在40名程序員中,我們有5到6名女性。我是那群年輕人中的一員,但大多數程序員都比我大10歲左右(我出生於1947年)。 20世紀70年代末,我們招募了一些新員工,他們完成了12個月的培訓課程。

在我剛入職的時候,我遇到了Solveig,她在SJ計算機部門工作。她告訴我,所有的門都有寫著“X小姐”或“X夫人”的牌子。但男士的門上沒有相應的婚姻狀況信息。女士們對這件事非常生氣,以至於她們擰下了牌子。所以當我入職的時候,他們只是看著我說:“我猜你也不想要一個小姐/夫人的牌子吧?”“是的,謝謝!”,我說。

那時你都做什麼?

1969年春天——在我入職之前——SJ推出了網上預訂,24×7運行。那在當時非常先進,完全是用彙編語言編寫的。這是SJ非常出色的一點——在瑞典沒有其他公司能與我們匹敵。我很慶幸能在這樣一個開拓型的公司接受教育。

我們創建了這些程序,一旦完成並進行了測試,我們就把它們交給別人。其他人負責維護它們,我們只是編寫新的程序!主要是收集操作統計數據(例如工資表),這些程序將定期運行(例如每個月)。

1979年,在SJ工作了10年後,我辭職去了銀行工作。

英文原文

Programming in 1969