A form of programming for early computers with magnetic-drum storage. It was also known as optimum programming. In programs for this kind of machine, each instruction specified the address of its successor, and it was desirable to place instructions in addresses so chosen that they were available under the reading heads when required. The most widely used machine of this kind was the IBM 650; the success of the machine was largely due to the SOAP assembler, which produced near-optimal code positioning without any special effort on the part of the programmer.