Pour rendre la communication homme-ordinateur aussi naturelle que possible, i.e., prédictible par l'utilisateur, les entrées qu'il effectue doivent appartenir à un langage correspondant bien à ses attentes, capacités et expérience.
Un langage tel que le langage naturel est certainement le plus familier. Cependant ce n'est pas toujours le bon choix. Dans de nombreuses applications spécialisées, d'autres langages tel le langage mathématique, sont probablement des formes de communication meilleures que des termes français.
La langue naturelle n'est un moyen utile de communication que dans des situations où il y a peu de jargon, où les messages n'ont pas à être répétés souvent, et quand l'idée à transmettre est définie précisément.
Dans les communications avec l'ordinateur, il y aura toujours des limitations sémantiques (i.e., liées au sens) ou syntaxiques ( i.e., liées à l'arrangement des mots selon des règles) dans l'utilisation du langage naturel. De plus, les utilisateurs n'accepteront un langage restreint que s'il est adéquat pour décrire les tâches à exécuter.
Contrairement aux langages qui ont évolué au cours du temps (à part peut être l'espéranto, qui n'est d'ailleurs pas une vraie langue naturelle), un langage de commande est une création du concepteur. Bien qu'un langage de commande soit restreint, le concepteur peut créer un langage qui n'a pas les inconvénients du langage naturel. Le concepteur peut définir un vocabulaire très précis, mais ce vocabulaire est forcément en interaction avec le vocabulaire du langage naturel. Un nouveau langage de commande et le langage naturel doivent bien s'harmoniser. Des incohérences conduisent à une performance dégradée de l'utilisateur. Souvent, les concepteurs tendent à croire qu'il existe une correspondance univoque entre les termes de commande et leur signification, i.e., les fonctions auxquelles elles correspondent, alors que souvent les utilisateurs identifient certaines commandes comme étant identiques. Par ailleurs, les concepteurs imaginent que les utilisateurs ne font aucune hypothèse, et s'en tiennent strictement à ce qui leur est dit sur la commande, alors qu'on sait qu'ils effectuent de nombreux présupposés. Enfin, les concepteurs croient aussi que les déductions, interprétations faites par les opérateurs se font à partir d'un système de référence invariant, alors que la signification d'une commande est très dépendante du contexte immédiat.
Un langage de commande doit être simple et le comportement du logiciel doit être prédictible et apparaître consistant logiquement en toutes circonstances.
Une commande doit décrire exactement la fonction a exécuter. Par exemple, imprimer pourra signifier imprimer une ligne, ou une page, ou un texte, alors que lister pourra signifier lister le contenu d'un fichier.
L'utilisation de termes sémantiquement proches, tels Ajouter, Somme et Total doit être bannie.
L'utilisateur doit pouvoir sentir qu'il contrôle le dialogue en entrant ses commandes et, à mesure qu'il acquiert de l'expérience, il doit avoir l'option d'utiliser des formes plus brèves de commande.
Chaque entrée doit être courte afin de favoriser la détection d'erreurs.
Le logiciel devrait être capable de distinguer des abréviations proches et de reconnaître par exemple "i", ou "imp" pour imprimer.
Le logiciel doit être capable d'interpréter capitales ou minuscules comme ayant la même valeur et reconnaître les erreurs de frappe comme l'utilisation inappropriée du shift (e.g., 1 et & sur un clavier azerty, ou 4 et $ sur un qwerty).
Entrer une commande et ses paramètres ne devrait pas requérir l'utilisation contraignante de zéros ou de blancs.
Quand l'entrée de paramètres est nécessaire, l'utilisateur doit pouvoir les entrer individuellement, dans une séquence, ou pas du tout (en utilisant des valeurs par défaut), selon son degré d'expérience.
Dans l'avenir, le logiciel pourra peut-être fournir une aide automatique chaque fois qu'il pourra déterminer que l'utilisateur est en difficulté.
Dans l'utilisation d'abréviations, il convient de n'employer que celles qui sont le plus largement admises car les utilisateurs pourront avoir rencontré certaines abréviations qui signifient autre chose. Par exemple, "e" peut signifier éditer sur un système et effaçer sur un autre.
L'utilisateur doit pouvoir entrer à sa guise une abréviation ou la commande complète.
Les abréviations sont déconseillées pour les affichages.
Les utilisateurs doivent être informés de la règle d'abréviation utilisée.
Ils doivent pouvoir définir leurs abréviations eux-mêmes.
Il ne doit pas y avoir de ponctuation dans une abréviation.
La troncature est une méthode d'abréviation recommandée.
Les abréviations doivent être beaucoup plus courtes que la commande complète.
Il ne doit y avoir qu'une abréviation par commande.
L'auto-complètement des abréviations est deconseillé.
![]() |
![]() |