Bo win 



to originally have three input/output typewriters function properly 

 at the same time. Any combination of two would work well, but as 

 soon as the third one was added, typing of double letters and various 

 other unexplained difficulties ensued. The situation was remedied 

 merely by rearranging the priority numbers of the three typewriters 

 Why priority assignments should have caused the trouble in the 

 first place, or why a rearrangement of the assignments should have 

 been a solution, remains a mystery. All that we can do is surmise 

 that there was some interaction between the computer program and 

 critical timing requirements. 



It is perhaps quite instructive to note that we had our most 

 reliable operation of System 11 during its six months cruise to the 

 Mediterranean immediately before being returned to IBM. The 

 program used during this entire cruise had been checked and 

 corrected on a prior cruise and no further modifications were made. 

 This record suggests that program improvements are not always 

 improvements unless they can be thoroughly tested and corrected, 

 preferably at times when data is not of importance. 



The use of a system invariably leads to ideas for improvem.ent 

 and expansion, and identifies errors in the original program. To 

 meet these situations, it is very desirable that modifications to 

 the real-time program may be made with ease and with confidence 

 that such changes will not adversely affect other portions of the 

 program. These requirements can be facilitated using a modular 

 construction for the program rather than a complex interweaving 

 of operations. It is also highly desirable that the real-time 

 program be written by the user, or at least that he be able to 

 easily follow the coded computer program. Neither was the case 

 in Systems I and II which led to our dependence upon the IBM 

 programmers for even rather simple modifications. This depend- 

 ency is particularly frustrating in the years following the 

 completion of an original contract by which such programs may 

 have been written, and the dispersement of the programmers to 

 new contract efforts essentially making them unavailable for further 

 development. The facility of a user to write his own programs or 

 to easily understand a program, written by someone else is best 

 accomplished, to date, by writing the program in Fortran. The 

 use of an assembly language, or worse yet, machine language, 

 only further isolates the average user from the ability to be 

 creative in his use of the computer. Also, the larger the core 

 memory, the more practical and convenient will be program 

 improvement and an expansion of the tasks conducted by the system. 

 This will be the case whether or not the system has random access 



261 



