The first computers were not friendly, and they were not easy to program. Nobody expected them to be. The idea of a friendly computer did not exist yet, and the hardware could not have supported one if it had.
What these machines asked for instead was understanding. A programmer had to know the whole machine: every register, every instruction, every quirk of its timing. Nothing stood in between to hide any of it. Machine time was precious, so programs were written away from the computer, on paper, and checked by hand. On some installations you got one short slot to run your program. If it had a bug, you waited for the next slot.
They were fascinating all the same. The obvious reason is that they paved the way for everything that followed. It is not the only reason, and perhaps not the best one. Limited as they are by modern standards, they were enormously faster than anyone working with pencil and paper. The LGP-30's own manual made the point plainly:
“Since the desk calculator is a useful computer, the question arises, ‘What is the need for a stored program computer?’ The answer lies in the speed of computation. For instance, the stored program computer LGP-30 can execute over 400 additions per second, whereas the desk calculator can only execute approximately one addition per second, not counting the time required to enter the numbers into the keyboard.”
Royal McBee Corporation, LGP-30 Programming Manual, April 1957, p. 7
To a programmer they were more interesting still. There were no layers of abstraction, no libraries and no interfaces to learn, only the machine and the problem. Every task, however small, had to be worked out from first principles.
Magnetic drum memory makes an especially good example. It was born of necessity: fast memory was very expensive, and a spinning cylinder with a magnetic coating was not. But a drum has no fixed access time. Each word passes under its read head once per revolution. Ask for it a moment too late and you wait for the drum to come round again. So where you placed each instruction decided how fast your program ran. The skill had a name, optimum programming, and at least one legend to go with it.
Here you can write and run programs on an emulated LGP-30 and find out for yourself how much fun, and how much of a challenge, a drum memory computer can be.