Language Evaluation

How do you decide whether a language is 'good'?

Is the language well structured?

In terms of modularity
In terms of the data types supported
In terms of the control structures supported.

Is it complex or relatively easy to use and understand?

In terms of being powerful.
In terms of expressiveness.
In terms of comprehensibility.

Is it self-documenting?

Variable declarations etc
Is documentation sufficient to reduce maintenance problems?

Are good run-time diagnostics available?

Debuggers - how easy is it to debug programs?

Are the input and output facilities good?

Is there a good base of pre-written utilities or library functions.

Mammoth FORTRAN and COBOL libraries.
Huge C and C++ libraries etc

Are compilers available over a wide range of hardware and software platforms?

Mainframe / minicomputer / microcomputers
Unix, Windows, MSDOS, Windows NT, System 7 RISC-OS etc

Is the portability good?

Do major modifications have to be made when going across platforms?

Speed of execution?

Fast or snail's pace?

Is it good for teaching purposes?

Is good structure imposed on the student?

Can it cope with real-time systems?

Can it cope with parallel processing?

Is the language general purpose or designed for a specific purpose?

Artificial Intelligence
Data processing
Scientific, engineering, maths applications
Systems programming
Text processing etc..