Command Languages

Command languages, as a method for communicating with computers, has as its basis in the development of languages for written and verbal communications between humans. Centuries ago, cave writings and Egyptian hieroglyphics were the basis for the modern languages of today. In our modern age, there are not only a multitude of human languages, but also languages for math, music, and the sciences. So, it is not surprising that a system of languages was developed for working with computers (Shneiderman, 1997, 1992, 1987).

Command languages are quite common in the computing world. Operating systems such as MS-DOS, UNIX, and DCL are examples of command languages for dealing with the hardware of computer systems. Programming languages allow for the creation of application and systems programs for various users. Database query languages, such as SQL are also widely used (Shneiderman, 1997, 1992, 1987).

The advantages of command language are most apparent when dealing with systems where users are very familiar with the computer and its structure and tasks. They are also useful when, long menus or direct manipulation objects are a hindrance rather than an asset, memorization of commands can improve performance, and time constraints make the compactness of the commands useful (Shneiderman, 1997, 1992, 1987).

The disadvantages of command languages are that they require extensive memorization of commands and syntax, their complexity can often make them difficult to decipher and understand, and frequently - in an effort to make the system as comprehensive and powerful as possible - designers create excess functionality. Excess functionality is the overabundance of commands, features, and "bells and whistles" which create a vast number of possible commands, only a small fraction of which are used on a regular basis. The result of this is increased error, increased learning time, and creates both confusion and dissatisfaction with the system (Shneiderman, 1997, 1992, 1987). A feature analysis list is a useful tool for working with command languages, according to Roberts (1980).

There are various kinds of command languages that can be created, and the potential diversity is as great as that for human languages. One important need is for an underlying metaphor to help in learning, use, and remembering the command language (Carroll & Thomas, 1982). For instance, an electronic mail language could contain references to drawers, files, messages, letters, etc. (Shneiderman, 1997, 1992, 1987).

Command language interfaces, generally speaking, require a user to write and use specific commands, often requiring a specific syntax. Using operating systems such as DOS or UNIX, or writing programming code, are examples of command language interaction. These have tended to bring about better performance for experienced users, but can be a stumbling block for novice users due to the complexities of understanding and creating the detailed commands. As a result, novice users tend to be less satisfied with the command approach, while many experienced users tend to prefer it (Shneiderman, 1997, 1992).

The principles of good command language design should always be followed when designing a language. This include the following principles used to design the SQML language used in this research:

  • Consistent order of command and arguments.

  • English-like commands.

  • Perceptual cues aid in learning and use.

  • Concrete images or metaphors to be associated with the language aid in learning.

  • Similarities between the name and the usage aids in learning and use.

Closely associated with good command language design is the learnability of the language. Green and Payne (1984) studied the learnability of computer languages, whether they are command languages or programming languages. The overall goal is to achieve ease of learning, while at the same time being powerful. One set of key principles are referred to by the authors as "guiding principles," which have been obtained from several works examining this problem and area. These principles are as follows:

  1. The order of arguments should be consistent (Barnard & Hammond, 1981a, 1981b).

  2. The order of the language, if not consistent, should be similar to the patterns and organizations of English (Barnard & Hammond, 1981a, 1981b).

  3. Perceptual cues to a grammatical structure of a command language can affect learnability (Ledgard, Whiteside, Singer, & Seymour, 1980).

  4. Concrete images or metaphors should be used to help learning (Du Boulay, O'Shea, & Monk, 1981; Mayer, 1979).

  5. Encourage similarity and suggestiveness between the command and its name (Tversky, 1977).

  6. Congruency is a useful technique to implement in command languages (Carroll, 1982).

The organization of command languages is an important concept, and the use of "marker words" which help to indicate the class of the command, were found to be useful. Even a large language with a clear organization was found to be easier to learn than a small language without a clear structure (Green, 1979). The use of descriptive models in learning command language (metaphors, flow charts) was studied by Simpson and Pellegrino (1993), and the metaphor was found to be particularly effective. Another study examined the effects of using unfamiliar languages on an experienced programmer (Scholtz & Wiedenbeck, 1993). Doane et al. (1990) studied the development of expertise on a command-language operating system.

The avoidance of "excess functionality" will help to make a language easier to use and understand. In the case of the Survey Questionnaire Markup Language (SQML), these principles are applied to create the most easy to learn and effective language possible. The language defined here is designed to closely follow the structure of other markup languages such as HTML and SGML. This language is profiled in Hsu and Turoff (1996).



Computing Information Technology. The Human Side
Computing Information Technology: The Human Side
ISBN: 1931777527
EAN: 2147483647
Year: 2003
Pages: 186

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net