自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

這是世界上最糟糕的編程環(huán)境么?

開發(fā) 項(xiàng)目管理
想象一下,上班第一天就被交給了這樣一些程序代碼。1990年2月,我就是這樣的。一個7人組成的團(tuán)隊(duì)維護(hù)著一批打印到 紙上能有幾百頁的這樣的代碼,都是已經(jīng)發(fā)布到生產(chǎn)環(huán)境的。并不是我們發(fā)明了它們,只是我們不得不要用它們。作為奇聞軼事,我在這里展示一張這些代碼殘存的 文檔的圖片,這個文檔格式是使用我開發(fā)的一個工具生成的,它僅可能的模仿了早期我們那些程序員在紙上那筆來研究這些文檔的樣子。

下面是一段 BANCStar 語言的程序代碼:

  1. 2999,,, 
  2. 8600,,,1 
  3. 3000,829,6,30089 
  4. 10829,2446,22245,22012 
  5. 11585,15855,22002,22002 
  6. 11586,15865,22002,22002 
  7. 11587,15875,22002,22002 
  8. 11588,15885,22002,22002 
  9. 11596,15965,22002,22002 
  10. 11597,15975,22002,22002 
  11. 11598,15985,22002,22002 
  12. 11599,15995,22002,22002 
  13. 11600,16005,22002,22002 
  14. 11601,16015,22002,22002 
  15. 11602,16025,22002,22002 
  16. 11603,16035,22002,22002 
  17. 11604,16045,22002,22002 
  18. 11605,16055,22002,22002 
  19. 11606,16065,22002,22002 
  20. 11607,16075,22002,22002 
  21. 11608,16085,22002,22002 
  22. 11609,16095,22002,22002 
  23. 11610,16105,22002,22002 
  24. 11611,16115,22002,22002 
  25. 11612,16125,22002,22002 
  26. 11613,16135,22002,22002 
  27. 11614,16145,22002,22002 
  28. 11615,16155,22002,22002 
  29. 11616,16165,22002,22002 
  30. 11617,16175,22002,22002 
  31. 11618,16185,22002,22002 
  32. 11619,16195,22002,22002 
  33. 11620,16205,22002,22002 
  34. 11621,16215,22002,22002 
  35. 11622,16225,22002,22002 
  36. 11623,16235,22002,22002 
  37. 11624,16245,22002,22002 
  38. 11625,16255,22002,22002 
  39. 11626,16265,22002,22002 
  40. 11627,16275,22002,22002 
  41. 11628,16285,22002,22002 
  42. 11629,16295,22002,22002 
  43. 11630,16305,22002,22002 
  44. 11631,16315,22002,22002 
  45. 11632,16325,22002,22002 
  46. 11638,16385,22002,22002 
  47. 11639,16395,22002,22002 
  48. 11677,22002,22002,22002 
  49. 11678,22002,22002,22002 
  50. 11679,22002,22002,22002 
  51. 11680,22002,22002,22002 
  52. 11691,22002,22002,22002 
  53. 11693,22002,22002,22002 
  54. 11707,22002,22002,22002 
  55. 11749,22002,22002,22002 
  56. 3001,351,2, 
  57. 10190,3512,22002,22002 
  58. 10191,3522,22002,22002 
  59. 10192,3522,22002,22002 
  60. 10193,3522,22002,22002 
  61. 3000,192,1, 
  62. 10193,1902,1912,1922 
  63. 10863,3552,22002,22002 
  64. 10864,3562,22002,22002 
  65. 10865,3572,22002,22002 
  66. 10866,3582,22002,22002 
  67. 10867,3592,22002,22002 
  68. 10505,3662,22002,22002 
  69. 10414,3912,22002,22002 
  70. 10415,3922,22002,22002 
  71. 10416,3932,22002,22002 
  72. 10563,4072,22002,22002 
  73. 10562,4082,22002,22002 
  74. 10566,4102,22002,22002, 
  75. 3001,,, 
  76. 31597,10001,716,108 
  77. 31598,10001,785,108 
  78. 31599,10001,717,108 
  79. 31600,10001,710,107 
  80. 31601,10001,786,108 
  81. 31602,10001,715,108 
  82. 31603,10001,787,108 
  83. 31604,10001,714,108 
  84. 31605,10001,713,108 
  85. 31606,10001,712,108 
  86. 31607,10001,711,108 
  87. 31608,10001,765,108 
  88. 31609,10001,766,108 
  89. 31617,10001,767,108 
  90. 31618,10001,768,108 
  91. 31619,10001,769,108 
  92. 31620,10001,770,108 
  93. 31621,10001,771,108 
  94. 31622,10001,772,108 
  95. 31623,10001,776,108 
  96. 31624,10001,777,108 
  97. 31625,10001,778,108 
  98. 31626,10001,779,108 
  99. 31627,10001,780,108 
  100. 31628,10001,781,108 
  101. 31629,10001,782,108 
  102. 31630,10001,797,108 
  103. 31631,10001,763,108 
  104. 31632,10001,764,108 
  105. 8500,,2, 
  106. 1254,2301,1,-2301 

想象一下,上班***天就被交給了這樣一些程序代碼。1990年2月,我就是這樣的。一個7人組成的團(tuán)隊(duì)維護(hù)著一批打印到 紙上能有幾百頁的這樣的代碼,都是已經(jīng)發(fā)布到生產(chǎn)環(huán)境的。并不是我們發(fā)明了它們,只是我們不得不要用它們。作為奇聞軼事,我在這里展示一張這些代碼殘存的 文檔的圖片,這個文檔格式是使用我開發(fā)的一個工具生成的,它僅可能的模仿了早期我們那些程序員在紙上那筆來研究這些文檔的樣子。

20130912111327

關(guān)于這段代碼

紙上的這些代碼是C16LNAPP.SCN里的一段,只是打印出來的***頁,它是1990年代美國一家大商業(yè)銀行——位于華盛頓的***洲際銀行(First Interstate Bank)在生產(chǎn)環(huán)境里使用的一段代碼。如今它已經(jīng)沒有用處理,我征得了當(dāng)時參與人的同意,出于樂趣,公布在這里。

#p#

再來一段

下面的這段代碼也是來自生產(chǎn)系統(tǒng)環(huán)境。我并不太擔(dān)心在這里公布這么多具有版權(quán)問題的代碼信息,因?yàn)檫@世界上大概只有10個人能看懂它們。

  1. 8607,,,1 
  2. 11547,15475,22002,22002 
  3. 1316,1629,1,1649  
  4. 3001,1316,3,30078 
  5. 11528,22052,22002,22002 
  6. 9301,0,1528,1528 
  7. 31568,10001,800,107 
  8. 8560,,,1568 
  9. 8550,210,, 
  10. 3001,,, 
  11. 3100,1316,3,30089 
  12. 11547,15475,22002,22002 
  13. 3001,1316,3,30089 
  14. 3001,1317,3,10000 
  15. 8400,,, 
  16. 8550,700,801, 
  17. 3001,,, 
  18. 9301,0,522,522 
  19. 3000,1284,3,10001 
  20. 8500,,3, 
  21. 8500,,5, 
  22. 1547,,1,-2301 

這樣打印出來的代碼文件我估計(jì)有1350多張,大部分每張上都有幾百行,有些甚至上千行。***洲際銀行的銀行分部用這些程序來處理業(yè)務(wù)。

BANCStar語言里一些有趣的特征:

  • BANCStar程序里僅有的合法字符就是數(shù)字0-9,逗號,減號,和回車符。不允許有空行。文件中的任何地方如果有一個“.”出現(xiàn),編譯器就會崩潰。
  • 注釋是絕對不允許的。
  • 有控制結(jié)構(gòu),包括3000 (“if”), 3001 (“end if”)和
  • 3101 (“else if”),還有8500 (“GOTO”) 和 8550 (“組合GOTO”).
  • 有 一個硬性規(guī)定,在整個系統(tǒng)中變量+常量不能超過2000個。任何需要顯示到屏幕上或打印到表單里的東西都要被定義成常量,因此,它們都要占用有限的資源空 間。結(jié)果,大多數(shù)的計(jì)算的完成都由使用數(shù)十個“臨時寄存”變量,而這變量會被系統(tǒng)不斷的重復(fù)利用。系統(tǒng)中所有的東西都是全局的。開發(fā)新模塊的程序員的*** 要做的是在系統(tǒng)中找一些這些臨時寄存的數(shù)字,“借”過來使用,完成自己的計(jì)算,并且要在這些寄存器真正的主人發(fā)現(xiàn)他們存放的數(shù)字不見了之前,把最初的值恢 復(fù)回去。
  • 代碼里的標(biāo)簽(Label)使用的都是絕對行址,于是,一旦有新代碼插入,所以插入行之后的代碼涉及到GOTO操作的都要重新定位和鏈接。

我能記得的一些細(xì)節(jié)

BANCStar 代碼實(shí)際上是用一個“屏面生成程序(screen generator)”生成的,這個工具最初大概是用來可視化編程的。但5.1c版的這個生成器功能太有限,一些有經(jīng)驗(yàn)的程序員很快就開始研究它的工作原 理,并且開始直接修改它生成的中間代碼,這些中間代碼就是生產(chǎn)環(huán)境實(shí)際運(yùn)行的代碼。

我在1990年代初來到西雅圖,加入了這個由7個程序員 組成的開發(fā)小組,這個小組的日常工作就是用BancSTAR機(jī)器語言直接編寫代碼,完全放棄了那個代碼生成器。當(dāng)他們***次向我展示這種語言時,我認(rèn)為他 們在跟我開玩笑。但幾個星期后,我也開始學(xué)會閱讀和編寫這種代碼了——借助于每個BancSTAR語言程序員最喜愛的工具:一個點(diǎn)陣打印機(jī),一大把各種顏 色的用于高亮某段代碼的彩筆,以及一種紙帶,上面打印滿了各種系統(tǒng)提示表格,類似速查手冊。在每次系統(tǒng)有任何修改變動后,我們都認(rèn)真的、小心翼翼的修改相 關(guān)數(shù)據(jù)、文檔。(關(guān)于重復(fù)使用的臨時寄存器,我可不是在開玩笑;如果你需要用到一個常量整數(shù)1000,你就需要到程序去尋找,看看其他人是否在其它地方使 用了相同的值,你要把你的程序鏈接到這個地方,并期望在你使用它的過程中不被其他人修改。)

我們開發(fā)了一些內(nèi)部工具來幫助我們用BancSTAR語言編寫大型應(yīng)用,還曾經(jīng)將這些應(yīng)用向這種語言的所有者Broadway & Seymour公司展示,但我想他們絕對不會相信我們是直接用他們底層的、沒有文檔說明的機(jī)器代碼編寫的。

原文鏈接:https://github.com/jloughry/BANCStar/blob/master/README.md

譯文鏈接:http://www.aqee.net/bancstar/

責(zé)任編輯:陳四芳 來源: 外刊IT評論
相關(guān)推薦

2014-07-15 11:10:01

面試題面試

2018-07-19 19:07:33

語言編程語言程序

2018-12-04 15:46:53

編程語言Python

2012-12-28 09:47:07

程序員代碼編程

2019-11-18 15:07:54

編程語言C#

2013-09-29 13:40:21

項(xiàng)目

2013-09-12 15:39:30

編程語言BANCStar

2025-03-13 00:35:00

2022-09-19 21:34:04

PHPFacebook語言

2023-07-18 15:56:05

2018-11-06 12:22:18

排序算法代碼

2020-11-16 09:38:08

編程語言EmojiEmojicode

2013-05-08 09:38:28

InteropNetSDN網(wǎng)絡(luò)設(shè)備供應(yīng)商

2009-05-07 09:02:15

思科錢伯斯營收

2022-04-28 23:27:08

人工智能機(jī)器學(xué)習(xí)工具

2010-07-15 16:21:22

編程語言

2015-04-20 17:12:53

變量變量名最糟糕變量名

2012-08-08 09:12:01

程序員

2014-09-05 09:08:58

2010-09-02 13:21:46

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號