[plt-scheme] A literary metaphor for Scheme
Programming languages broadly fall into two camps.
One group of languages aim to be squarely practical. For example,
they have three kinds of loops, because those are the ones people
(seem to) find in practice: no less (too restrictive), no more
(unnecessary complexity). Languages like Java fall squarely in this
camp.
The other group of languages aspire to perfection. The Scheme report
captures this perfectly with its very first sentence: "Programming
languages should be designed not by piling feature on top of feature,
but by removing the weaknesses and restrictions that make additional
features appear necessary".
People who use the first group of languages can't understand how
anyone gets anything done in the second group.
People who use the second group of languages can't understand how
those who use the first group doesn't just slit their throats.
The first group is Aristotelian. The second group is Socratic.
(Plato was just the hack transcriber.)
There are two (three) literary figures for you.
Shriram