成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

我媽 1969 年學編程,那時候程序員是怎樣寫代碼的

新聞 前端
今天在 Reddit/programming 看到一篇熱文,看標題的第一眼,我以為又是和阿波羅計劃相關的故事。打開后發現,雖然不像阿波羅計劃故事那樣偉大,但還也是一個兩代都是程序員的故事。

 前段時間,人類登月 50 周年,我們推送阿波羅飛船制導軟件的負責人 Margaret Hamilton 的文章,她是上世紀六七十年代的先鋒人物。

[[273208]]

此外,我們還在微博發了另外一個阿波羅計劃女程序員的故事,母女兩代都是程序員。

我媽 1969 年學編程,那時候程序員是怎樣寫代碼的

(有人誤解成 Lin Clark 的媽媽是 Margaret,其實不是)

今天在 Reddit/programming 看到一篇熱文,看標題的第一眼,我以為又是和阿波羅計劃相關的故事。

我媽 1969 年學編程,那時候程序員是怎樣寫代碼的

打開后發現,雖然不像阿波羅計劃故事那樣偉大,但還也是一個兩代都是程序員的故事。那個時代,大學里都沒有編程課,我們可以從中了解到當年第一批程序員是怎么樣學習和工作流程……

原作者 Emil Ernerfeldt 是一個瑞典斯德哥爾摩程序員,他媽媽 Marianne Ernerfeldt 出生于 1947 年,高中沒畢業時就想當程序員。該文是 Emil 在 2018 年 12 月采訪媽媽所寫。

為什么你想當程序員?

大約是 1965~1966 年,我決定成為一名程序員。我讀過一篇文章,上面有一幅流程圖,看到我就想“這個適合我”。

1967 年我高中畢業,那時候的大學還沒有教編程,但索爾納有一個為期 6 個月的課程,后來變成了 12 個月的課程。而且我有資格申請學生貸款,于是我就申請了。

與此同時,瑞典的國有鐵路公司 SJ 發布了招聘實習生的廣告,提供為期一年的帶薪培訓項目,你可以學習了解 SJ 運營的所有不同部門。SJ 有一個計算機部門,所以我也申請了,希望能進。

然而,SJ 的 50 個實習生名額,結果有 700 人申請,所以有一個復雜的篩選過程和各種各樣的測試。最終我進去了!

還要說一句,當 SJ 管理層發現實習生項目手冊同時發給了男學生和女學生時,他們非常不高興!被錄取的女性并不多,但我們是少數。

在培訓期間,我們參觀了 SJ 的所有部門,了解了從火車和鐵路到通信工作原理(SJ有自己的電線和電話線)。一年之后,我從實習生轉正了,但那是一份無聊的工作。

終于在 1969 年,我聽說 SJ 開始了一個內部編程培訓項目,所以我申請了。經過更多的測試,我和另外三個人在 1969 年開始編程培訓。我們是兩個女生和兩個男生。

[[273209]]

(1976 年的 IBM System/370 )

編程培訓是怎么樣的?

首先,我們參觀了 SJ 公司的計算機部門,并拿到了計算機是什么的綱要等材料。然后我們在 IBM 上課,IBM 在斯德哥爾摩的一棟大樓里有一臺“訓練機”。我們班上大概有50~100人,但我們被分開了,每個教室里有 8 個人。教室前面有 2 個電視屏幕。老師在另一個房間,每個老師大概對應 10 個教室,每個教室的人都可以用按鈕吸引注意力,然后用麥克風提問。超現代的!

首先我們學習了一些關于 IBM OS 的知識,然后我們學習了 PL/I,這是 IBM 自己的編程語言。它是 Cobol 的一個更現代的版本,具有 Cobol 還沒有(但以后會有)的特性,比如生成表和查詢。所以 PL/I 在當時是一種更好的編程語言,也更簡單。可以使用英語單詞編寫代碼,比如 DO WHILE 等。它是一個非常好的編程語言!

在瑞典,政府機構處于數據處理的最前沿,銀行和其他機構遠遠落后。因此,在 IBM 的課程中,雖然大多數是來自其他機構的人員,但 SJ 處于最前沿。

在學完第一個 IBM 課程之后,我回到了 SJ,開始了我的第一個實踐項目。我們四個人做了一個約會程序,你可以輸入男性和女性的特征,然后用我們自己發明的算法計算匹配,然后我們開始編寫項目代碼!

后來我學了更多的課程,比如匯編。我們有一位主管在工作中幫助我們。

我媽 1969 年學編程,那時候程序員是怎樣寫代碼的

(我畫流程圖的模板)

你的工作怎么樣?

我們先畫流程圖,然后用鉛筆寫代碼。然后把代碼交給打孔機,代碼將被打孔到打孔卡上。打孔卡有 80 列,其中 72 列用于代碼,8 列用于排序,所以每一行代碼最多可以有 72 個字符寬。

(程序員的那些事 注:打孔卡有 80 列,這個 80 是不是很熟悉呢? 現在有些編程規范中,仍然在強調每行代碼不要 80 個字符。)

你必須把代碼寫清楚,這樣操作打孔機的女性才能讀懂。在 SJ 工作了幾年之后,我們找到了幾個專門負責讀取我們代碼的人,他們真是幫了大忙。他們主要會打數據卡:來自 SJ 的時間報告、每節火車車廂行駛了多遠等等。打孔機看起來像一臺普通的打字機,可以在卡片上打孔。在每一列上面,它還將以明文輸入字母。

[[273210]]

(IBM 的打孔卡)

我們也曾經在打孔卡上放蛋糕,所以打孔卡的用途很廣的。

剛開始的時候,程序很小,但后來可能變成幾米長的卡片盒。每一行代碼都變成了一張打孔卡。每一行和每一張卡片有一條指令。所以打孔機會把程序(成千上萬張卡片)還給我們。

我們還必須創建“控制卡”,由它來決定某個穿孔卡是要編譯還是要執行,以及它是什么語言等等。控制卡有一個單獨的顏色。第一張卡片是一張工作卡,上面有我的名字,所以打孔機操作員知道該把東西還給誰。

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

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

最后,這些卡片連同“睡衣紙”一起送還,其中包含錯誤代碼和行號。

[[273211]]

(Pajama paper /睡衣紙)

我們有機會打幾個孔,這樣我們就可以自己做一些小的修正。

然后我們必須創建測試文件,看看程序是否產生了預期的結果。如果沒有,你就會坐下來做“桌面測試”(用筆和紙思考),試著想想“到底出了什么問題?” 因此,要使程序正確運行,可能需要相當長的時間。

我們有幾臺機器。我們從一開始就有 IBM 360 大型機,還有一些更老的機器。后來我們得到了 IBM 370。

在 70 年代末,公司有了 Alfaskop 終端機,但我們沒有個人的終端機,而是共用一個終端機室。如果我們想要對程序進行更改時,不得不爭用終端機的時間。程序會在屏幕上出現,我們可以修改。在 1979 年離開 SJ 之前,我從未擁有過自己的終端機。

我媽 1969 年學編程,那時候程序員是怎樣寫代碼的

Alfaskop 3700

說說你的同事

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

系統工程師的工作主要與規格、程序的輸入和輸出等有關。作為程序員,我們是問題的解決者,我們制作流程圖并找出解決問題的方法。

在機器大廳里大約有 10 名機器操作員。他們穿著白大褂,處理磁帶存儲、磁盤和打孔卡。我們很少被允許進入機器大廳的內室。入口處有一個“關門”的牌子。

機器大廳很大。早期的機器(IBM 1400)占地約 10~20 m²,但后來的機器是小冰箱那樣的體積。

打孔卡部門由 50 名年輕女性組成。如果 SJ 其他部門想拜訪計算機部門,最有趣的肯定是打孔卡部門,因為在 SJ 的大多數人是男性咯!

在我們 40 名程序員中,只有 5~6 個女性。我是這群年輕人中的一員,但大多數程序員都比我大 10 歲左右(我出生于 1947 年)。在 70 年代末,我們招了一些新員工,他們接受了為期 12 個月的培訓。

你做了什么?

1969 年春天,SJ 在線預訂服務推出了,24/7 運行時間。它在當時非常先進,完全是用匯編程序編寫的。這是 SJ 非常出色的一點,在瑞典沒有其他公司能和我們相提并論。我很幸運能在這樣一家敢于冒險的公司接受教育!

我們創建程序,一旦完成并經過測試,就把交給別人。其他人負責維護,我們負責編寫新的程序!主要是收集關于鐵路運營的統計數據(例如工資單),然后這些程序將定期運行(例如每個月)。

1979 年,在 SJ 工作了十年之后,我跳槽去了銀行部門工作。

責任編輯:張燕妮 來源: 程序員的那些事
相關推薦

2019-11-07 22:00:22

程序員代碼規范

2013-11-07 09:14:32

程序員項目經理

2015-07-02 11:20:17

程序員代碼

2019-04-10 16:17:02

程序員結構源代碼

2012-12-03 10:22:24

程序員

2009-02-23 13:05:32

程序員學習方法

2017-11-10 12:43:43

整潔代碼開發程序員

2018-02-26 09:28:42

程序員Bug體驗

2015-11-02 14:21:25

2015-02-03 02:40:33

程序員盲人程序員

2021-09-24 14:50:34

程序員編程經驗

2019-09-12 10:00:57

程序員技能開發者

2014-03-25 10:35:35

程序員代碼調試

2020-10-27 11:43:29

低代碼開發工具開發

2019-09-02 08:53:46

程序員

2019-05-15 09:59:24

程序員技能開發者

2015-08-14 09:15:34

轉行變成前途

2015-08-14 09:14:29

2017-10-17 12:47:19

2009-09-09 16:46:58

學習RubyRuby
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 久久精品国产免费高清 | 黄色片av | 91精产国品一二三区 | 久久婷婷色 | 日韩精品一区二区三区在线播放 | 精品99在线| 99精品视频在线观看免费播放 | 狠狠av | 亚洲经典一区 | 欧美一级片在线播放 | 嫩草黄色影院 | 欧美在线视频不卡 | 在线看av网址 | 精品一区二区三区中文字幕 | 国产一区二区三区亚洲 | 日韩免费视频一区二区 | 国产精品一区二区欧美 | 精品久久久久久久久久久久久久 | 伊人精品久久久久77777 | 久久久久国产精品一区三寸 | 中文字幕一区二区三区乱码图片 | 久久狠狠 | 国产成人亚洲精品自产在线 | 91九色porny首页最多播放 | 一区二区三区视频免费观看 | 久久综合入口 | 久久久网 | 亚洲免费在线观看 | 久久久成人网 | 毛片一区二区三区 | 久久久久久久综合色一本 | 国产精品7777777 | 国产一区| 亚洲毛片在线观看 | 国产精品毛片一区二区三区 | 欧美亚洲在线视频 | 在线欧美小视频 | 精品一区国产 | 亚洲精品久久久久中文字幕二区 | 精品国产一区二区三区久久影院 | 呦呦在线视频 |