Software is all-important, and it is very expensive to develop, both in time and money; hence a system planner should favor a central processor for which a large amount of software is supplied by the manufacturer, especially system software. In general, when a particular type of machine has already been delivered to many customers the manufacturer may be relied upon to supply the essential software needed to run a system: an assembler, I/O routines for standard devices, and usually a Fortran compiler. The larger machines will be supplied with some sort of operating system (monitor), either for batch or time-shared operation. However, the specialized software needed for data acquisition will usually not be available unless it has already been developed by another user. A laboratory with limited programming resources should therefore give great weight to obtaining a system already provided with all essential software and should direct its own programming efforts to specific data-acquisition problems. Contracting with an outside company for development of the specialized software is also possible, although the cost will probably exceed the salaries of in-house personnel hired to do the same job, and communication with an outside group is inconvenient.

7. Utility of Modern Small Computers

Many small, powerful computers are now on the market. They are inexpensive but very reliable. For many data-taking purposes they are quite sufficient, when equipped with appropriate peripheral devices and an adequate program library.

8. Utility of Disks and Drums

Magnetic disk and drum bulk storage devices have also undergone much development recently. Many good, small versions are now on the market at rather low prices. The capabilities of these units must not be overlooked. Attaching a modern disk unit to a modern, small or medium-sized computer produces a powerful but economical combination.

9. Need for Adequate Peripheral Devices

Unless an appropriate set of standard input-output devices is provided, the computer will not be used efficiently. A balanced system with a small computer is likely to prove much more useful than an unbalanced system with a medium-sized computer. What is necessary will, of course, depend upon the uses of the system. For example, if a large amount of program development is anticipated, the inclusion of a line printer should certainly be considered, because universal experience has shown that line printers are immensely valuable during program development; on the other hand, as a rule they are not so important in most data-taking operations.

10. Peripherals (Brand X)

It is often cheaper initially to use peripheral devices from a separate manufacturer, with interfacing provided either by the user or by an outside commercial firm. In this case difficulties lie in guessing the reliability of the devices and in achieving software compatibility. Software developed by a computer manufacturer usually takes advantage of the peculiarities of his own peripherals. If an outside device is purchased, the additional cost for programming during the lifetime of the system should be considered. If competent engineering effort is available, an interface compatible with the computer manufacturer's software may be built, with a possible saving in programming cost.