Previous Table of Contents Next


2.2 Usability Criteria

   The primary design goal of HUTN is human usability, and this is achieved through consideration of the successes and failures of common programming languages. HUTN uses an abstract base syntax that is applied to all models, which is customized to exploit specific properties of particular models.

   As the first step in this user-centered design process, a number of assumptions had to be made about the target user audience of the generated languages. It was decided that this audience could be assumed to have some degree of familiarity with computer languages generally, while not necessarily being proficient in the use of programming languages. The syntax of a language can have a strong effect on the speed and efficiency of its use for an expert user, but the syntax features associated with this speed and efficiency often lead to a more difficult learning curve for the novice user. While it is not impossible to deal with both, a certain trade-off between these two features is apparent in many common programming languages. For example, the C programming language features many syntactic elements that are convenient for the experienced user, but the language is widely acknowledged as one of the more difficult to learn. By contrast, the Pascal language is a very popular language for teaching programming, but is less popular for large-scale development, where it is more time consuming and less efficient than a language such as the C programming language. For this application, it was decided that an efficient learning curve was a more important requirement of the languages, and that they would consequently be designed with learnability as a primary goal, and expert-friendliness as a secondary goal.