Command-line and text interfaces

The word asynchronous means "not happening at the same time" (lack of synchronisation). Asynchronous communication means that (significant) time elapses between transmission and reception.

Exercise: Give two examples of asynchronous communication. Give two examples of synchronous communication.

At the beginning of mass-computing, interaction with machines was highly asynchronous (in terms of computer-human interaction): programs were written, then transcribed into punchcards (paper cards with holes punched in them) and fed into machines which were able to load them into memory. Results were then printed out onto paper and delivered to the programmer.

This asynchronous system is still in use (though without the paper cards) in computing: compute "jobs" are prepared and submitted to a scheduling system, which distributes the jobs amongst free computers. Results of the jobs are collected and made available to the submitter after the job is finished. The most accessible example of this, continuous integration, will be discussed in the next lecture.

Synchronous computing systems require more reliable low-latency data transmission: when you press a button, you expect to see the result immediately, not in a week, or a day, or an hour, or even a second. Common design guidelines recommend that systems respond in less than 100ms.

Command-line interfaces

Command-line interfaces were the first synchronous interaction systems for computers. A typewriter and printer were hooked up to the computer (often through a telephone line); you typed commands, and the computer would print the results. This device is called a "teletype."

The connection was very slow, so you would not be able to transfer much data between the computer and your teletype. (Transferring data within the computer was much faster.) It was thus important that the amount of typing, and the amount of response, were brief.

This is still the most efficient way to perform many tasks on the computer; unfortunately many modern computers do not give you access to such interfaces, and use of these interfaces is limited to a small community, even amongst computer specialists.