User interacts with computer by typing commands
• Allows complex instructions to be given to computer
• Facilitates formal methods of specification & implementation
• Skilled users can input commands quickly
• Requires learning or training
• Can be adapted for people with disabilities
• Can be multi-lingual
• Suitable for scripting / non-human clients