Direct mode is a form of computer programming whereby the program's parameters are entered and executed in real-time. This is in contrast to a compiled program, which is written in a file, run through a compiler and then executed later. The direct method allows for a programmer to test program functionality or perform other immediate tasks or actions on a system without having to edit, recompile, and then re-run the program.
Much of the direct mode programming methods were used during the earlier days of computing. The first punch cards could be viewed as such a method, where the programmer would program the computer via a card and watch the lights on the computer indicating how the program was functioning. One of the early typed programming languages is the beginner's all-purpose symbolic instruction code (BASIC) language developed in 1964. Many early eight-bit computer systems, such as the Commodore 64®, allowed for BASIC programs to be input directly upon booting the machine. The first thing a user would see is an introduction and a blinking prompt that was awaiting programming commands.
On these systems, a user could then begin programming the computer directly. Usually, this direct mode of operation meant either creating and testing a newly devised computer program or using several small BASIC operations to access and launch different programs that may have already been saved as files on a floppy disk. In either case, the most commonly used direct mode command was the RUN command. Either a recently typed program in the computer's memory or a saved file could be executed with RUN. Modern operating systems, such as Microsoft® Windows®, still allow the use of a RUN command, via a command prompt, to launch certain programs on the system.
Due to the increase in computer speed and processing, direct mode programming evolved into another form in what's known as interpreted programming languages. Here, the programming language operates exactly like the older methods, with the only exception being that the language comes with an interpreter. The interpreter is a separate program akin to the old eight-bit BASIC prompt. Once launched, it sits and waits for commands to be inputted in whatever language it was designed to interpret. This allows for varied interpreted languages to be developed and run on a single computer system, each potentially offering various benefits for particular uses.
Another use for direct mode programming has found its way into model railroad systems. Digital controllers allow for a model railroad hobbyist to program a number of actions for the locomotive to take, such as increasing and decreasing speed, the operation of lights on the train, and more. These controllers have a direct-mode programming feature, whereby an operator may affect the function of the train in real-time as it's traversing the track.