Programming Language Design and different ways of thinking
Here are a few notes for the longer story/essay that I really would like
to write about this set of related topics.
The pragprog list is currently deciding about what language(s)
to study next year. Frequently mentioned is the desire to learn
a language that will "affect the way I think about programming".
A discussion today on Lambda:
http://lambda.weblogs.com/discuss/msgReader$4365
refers to Michael Vanier's terms LFSPs vs LFMs —
(Programming) Languages designed For Smart People, vs
(Programming) Languages designed For the Masses:
http://www.paulgraham.com/vanlfsp.html
I came into the discussion fairly late ...
http://lambda.weblogs.com/discuss/msgReader$4428
by introducing a more useful (IMHO) pair of terms that show
about as much tact as Vanier (explicitly) and
Graham (by implication) do: LDCs vs LDTs —
Languages Designed for Cowboys vs Languages
Designed for Teams. (I would have called the latter
"Languages Designed for Collaboration", but then the
abbreviations would have gotten a bit confusing.)
Isaac Guoy suggested that the original terms would
make for a better satire, and that LDC/LDT haven't as
much humour-potential. The sad thing is that Vanier
and Graham appear to be serious about this.
This story is related to my conviction that it is
pretty useless to attempt to measure intelligence
as a one-dimensional thing.
(See Howard Gardner's writings, e.g., the 1983 book
"Frames of Mind: The Theory of Multiple Intelligences"
which "Argues that all human beings are born with a
multiplicity of intelligences which can, and should,
be developed ..." ISBN 0465025080.)
It's also related (less directly) to some of
the comments that I made in August's
lambda thread about Richard Hamming, which drifted
into a thread about "the most important questions in
programming language design".
http://lambda.weblogs.com/discuss/msgReader$3951
http://lambda.weblogs.com/discuss/msgReader$3981
And to Frank Atanassow's question:
http://lambda.weblogs.com/discuss/msgReader$3993
Yes, Frank. We still call gcc "gcc", though it
meets distinctly different specs now than it did in 1986.
We still call you "Frank", though you probably meet
few of the specs that you met in 1970.
11:52:44 PM