I should cite the unsufficently known fondational text
of the Perl credo:
Natural Language Principles in Perl.
Larry is talking there of indeterminate dimensionality, diagonality and
fractal journey:
Most problems, including linguistics problems, are a matter of ``getting from here to there'', and the geography in-between has a heavy influence on which solutions are practical. Problems tend to be solved at several levels. A typical journey might involve your legs, your car, an escalator, a moving sidewalk, a jet, maybe some more moving sidewalks or a tram, another jet, a taxi, and an elevator. At each of these levels, there aren't many ``right angles'', and the whole thing is a bit fractal in nature. In terms of language, you say something that gets close to what you want to say, and then you start refining it around the edges, just as you would first plan your itinerary between major airports, and only later worry about how to get to and from the airport.
Another way to see that is to talk about granularity.
Perl supports both Kleenex programs (small grain) to complex OO
(big grain).
You don't use the same style with a throw-away program and a long lived one.
Also a language is a complex entity where most things are tied
together. So there is little point of talking of orthogonality.
But the designer of a language must avoid needless inconsistencies
while providing many way to do the same thing.
Also, the problem is not so much to design the perfect language
but leaving place to growth in unforeseen dimensions.
Perl has done pretty well until perl5 because references and OO
did not integrate well in existing the language and it had to stay back-compatible.
So came cleant up scripting language like Python or Ruby.
But perl6 will be more than a cleant-up perl5.
--
stefp -- check out TeXmacs
wiki