The task of taking a problem and mapping it onto the machine was complex, and usually took weeks. After the program was figured out on paper, the process of getting the program "into" ENIAC by manipulating its switches and cables took additional days. This was followed by a period of verification and debugging...
Hardware: Loom, Software: punch cards
Computer users, for example science and engineering students at universities, would submit their programming assignments to their local computer center in the form of a deck of punched cards, one card per program line. They then had to wait for the program to be read in, queued for processing, compiled, and executed. In due course, a printout of any results, marked with the submitter's identification, would be placed in an output tray, typically in the computer center lobby. In many cases these results would be only a series of error messages, requiring yet another edit-punch-compile-run cycle.