Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.1 6/24/83; site dciem.UUCP Path: utzoo!dciem!mmt From: mmt@dciem.UUCP (Martin Taylor) Newsgroups: net.cog-eng,net.nlang Subject: Re: expert-friendly: are long names a waste of time? Message-ID: <465@dciem.UUCP> Date: Wed, 2-Nov-83 18:33:50 EST Article-I.D.: dciem.465 Posted: Wed Nov 2 18:33:50 1983 Date-Received: Wed, 2-Nov-83 19:25:33 EST References: <1367@utcsstat.UUCP> Organization: D.C.I.E.M, Toronto, Canada Lines: 64 Laura (in net.cog-eng) points out that English uses a lot of "useless words" that often occur before "you get to the good stuff". This is a consequence of the fact that the real world contains many possible contexts within which statements, questions and other interactions can be framed. There is a concept in psycholinguistics called the "Given-new contract", which, roughly stated, says that the partners in a dialogue agree to present something new in each element of the dialogue, with enough prior material (the given) to show where the new stuff belongs. In Laura's example: "Are we going to the Chelsea Inn soon?" the early words are NOT useless unless she assumes that the context of going out to the Chelsea Inn was previously established in the minds of all participants. If the dialogue had been: Where are we going? Chelsea Inn. Soon? Each of the dialogue elements would have contained almost exclusively "new" items, and there would be no wasted words. (Only "are we going" in the first unit would be "given" material.) Now consider this in the context of long computer commands. If the computer had an intelligent interface that permitted the use of prior context, then most of the time it would be possible to use very short commands, analogous to "Soon?". But this facility would have to be balanced by the need for long specification when the context was switched, in a way precisely analogous to what has to be done in natural language. Laura also brings up the point that the order of arguments is not necessarily natural in multi-argument commands, and that this problem might not be alleviated by increased command length. In English, the relation between verbs and their arguments can be signalled both by word order and by the addition of cue words ("function words") that indicate special relationships or relationships that differ from what the word order suggests. If a command has many arguments, they can easily be signalled by function words (chmod files=foo,bar,grunch mode=755; chmod 755 foo bar grunch). The problem is the same as in natural language, that of remembering the proper word order. Since a command is in the imperative, it is natural to put the verb first, and the subject is usually the computer. A problem arises in that there may be many arguments, not just the three to which English verbs are limited in the absence of function words. When there are many, it is difficult to remember their order. In English there are general rules about the orders of direct objects, indirect objects, and so forth (one says "put that there", not "*put there that"). Similarly, in UNIX, commands relating two files usually have "oldfile newfile" as the accepted order. Novices may not know that, and it would be useful to allow function words: "mv old to new". Where the arguments are of different semantic types, English usually permits one to interpret correctly the meaning even when the order is wrong. So should the computer command language. "chmod foo bar 755" should be interpretable if foo and bar are files, and 755 is a legitimate mode known to the chmod command. In fact, that kind of syntax could permit a useful extension to such commands: chmod foo bar 755 grunch 644, for example (This would be identical in effect to: chmod 755 foo bar 644 grunch, since the slots requiring mode arguments would be filled in the same order in both cases). This line of argument is quite independent of the mnemonic argument that started the discussion on this topic, and should perhaps be continued in net.nlang rather than net.cog-eng. Martin Taylor