[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

language design for handling library-complexity/learnability



this quote is from the former Caltech "Parallel Computing Works"
http://www.npac.syr.edu/copywrite/pcw/node405.html

"Our claim is that the good ``in large'' computer language design should
contain a nontrivial ``common English'' part, useful by itself for a broad
set of generic tasks, and it should offer a graded, multiscale
extensibility model towards specialized expert dialects. Indeed, we program
by building reusable associations between software entities and names. Each
``in large'' programming model unavoidably contains a large number of names.
The disciplined and structured process of naming software entities is
crucial for successful complexity control. In languages such as C or
Fortran, the ``common English'' part is reduced to arithmetic and simple
control structures such as if, for, switch, and so on. All other names are
simply mapped on a huge and ever-growing linear chain of library functions.
The original language syntax, based on mathematics notation, degenerates
towards a poorly organized functional programming style. ``In large''
programming in such languages becomes very complex. "

The text is a decade old. Questions:

How relevant is the problem description to you?

What languages by your opinion meets the demands presented in the quote
best?

If you are a language designer; how did you design in order to avoid the
"All other names are simply mapped on a huge and ever-growing linear chain
of library functions"-problem from above?

thanks for any comments!

amike via Henning