Up: Design Considerations for Kimwitu
Previous: What is in a
In the engineering of language based software, there are two extreme approaches.
One is to just use a regular programming language (assembly language is not used
very much any more these days),
the other is to use a very high-level formalism, such as attribute grammars.
Kimwitu was designed to fill a place in between these extremes, and to attempt
to bridge the gap.
The main theme is that by supporting multi-paradigm programming
one can avoid being locked in by one formalism.
In each formalism there are things that cannot be easily or efficiently expressed.
Abstract data types can allow easy expression of certain functions, but the
implementations are not necessarily efficient.
In C every detail that can possibly influence performance is under the control
of the programmer, but that does not necessarily allow easy expression
of conceptually simple functions.