A user can use bespoke software to exchange instructions to a computer via a user interface. These are typically via command line, menu driven and graphical user interface (GUI) software.

Command line is a software interface in which the user can issue commands to the computer software via successive lines of text. Until the mid 1960s when the video display terminal software was brought in, command line interface was the only means of providing instructions to a computer system. Early computers used command line dialog teleprinter (TTY) machines, before being replaced by a glass tty or keyboard and screen to communicate commands to the system software.

Graphical user interface software is now the most common way of using computers now, however for some specialists and advanced computer users it is still the preferred software by providing more direct control of the operating system. Where graphical user interface software provides direction for the user via the navigation of menus, command line software enables experienced users to dispose of the need to navigate menus completely. In addition, program software that is entirely driven by command lines do not necessarily need up to date machines in order to run, meaning that new program software can be run on older machines.

The downside however is that command line software is not particularly intuitive. Because the software code encodes specific instructions to the computer, it often does not work in the same way as human language. For this reason, becoming familiar with this software can have a very steep learning curve and a new learner may require a lot of support from someone familiar with using command line software interface.

Despite this, there are some examples of software that function to interpret command lines or translate statements into commands readable by the command line software.