- Can carry out a lot of tasks fast
- Experienced users generally prefer it
- Some stuff that can be done in command language is difficult to reproduce in a GUI
- Difficult to learn
- Generally doesn't have instanst feedback, e.g delete a file using
rm filename
how do we know it has removed the file? - Mistakes are more common
- User has to know the commands which can be complex
- Easy to learn
- Sophisticated
- User is used to communicating in this form
- Difficult to program
- Lot of typing on user's part generally (slow)
- Computer not guaranteed to understand the way user is expressing what they wish to do (unclear)
- Good for selecting choices
- Generally easy to understand
- System has no trouble understanding choices
- Easy to learn
- Can be restrictive, may not offer all actions user wishes to perform
- More suited to novice users
- Makes data entry easy
- Programmer can hint at what they wish an input to look like
- Good for reading in bulk user info
- Generally has to be designed specifically for a particular system
- Very easy to learn
- User gets feedback instantly
- Represent tasks metaphorically
- Difficult to design
- In some cases it can be restrictive