Previous | Table of Contents | Next |
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.