Python syntax in Lisp and Scheme

Matthias no at spam.pls
Fri Oct 10 16:37:13 EDT 2003


Alex Martelli <aleax at aleax.it> writes:

> Pascal Costanza wrote:
> 
> > Matthias wrote:
> > 
> >> Why the smiley?  Many hours of discussions could be spared if there
> >> were real, scientific, solid studies on the benefit of certain
> >> language features or languages in certain domains or for certain types
> >> of programmers.
> > 
> > This presumes that language features can be judged in isolation. I think
> > it's rather more likely that good programming languages are holistic
> > systems, in the sense that the whole language is more than the sum of
> > its features.
> 
> ...and/or less, if N features are just offering N different ways to
> perform essentially the same tasks, of course.  Still, be the whole
> more or less than "the sum of the parts", one still can't rule out
> (as no "hard-scientific studies" are ever likely to exist) such
> non-linearities and complications.  This, of course, points out that
> programming languages are NOT "mathematics", as some claim -- they
> are engineering designs, and interact with human minds, sociology
> of groups, cultural and educational features, at least as much as
> they interact with the architecture and capabilities of computers.

You are right, of course.  

But that it is a complicated matter to study does not mean that it's
not worthwhile: An example where human minds, sociology, culture,
etc. intervene in a complicated way is education.  In Germany we've
had /ages/ of hot debate on how to educate children (at elementary and
highschool, mainly).  Then scientists came and did some tests.  They
defined some educational goals ("children at a certain age should be
able to read this text and solve such kind of math problem") and
looked which factors influence how well students met the goals
previously defined.  The results were quite surprising to our
education experts: Certain factors which were previously believed to
matter a great deal (like teacher/student ratio) were found to be of
almost no importance.  Other factors (like parental income and ethnic
origin) had an alarmingly high influence.  Now our education experts
have, for the first time, real data as input, and they can start to
work on the real problems.

In the context of programming languages I find studies from Lutz
Prechtel <http://www.ipd.uka.de/~prechelt/Biblio/> or Erann Gat's
Lisp/Java paper interesting.  Doing such studies on a larger scale and
with non-self selected participants should be possible. In "Patterns
of Software" Peter Gabriel reports (p. 128) that a group of advanced
Lisp developers experienced a 30% drop in productivity one year after
switching to C++.  This is merely an anecdote, but if you have a
reasonable measure of programmers' productivity (I know, that's hard)
and examine how language-switchers in industry perform after 1, 2, 3
years you might find other interesting results.  One could also try to
compare small software companies which do well (e.g., financially)
with those that do not so well.

In all these cases defining acceptable performance measures and/or
getting enough data is hard, and no single study would reveal "the
truth".  But scientifically examining the act of producing software
should be possible (within limits) if one tries and has enough
funding. ;-)






More information about the Python-list mailing list