Python Productivity Gain?

Harry George harry.g.george at boeing.com
Tue Feb 17 09:00:28 CET 2004


Matthias <no at spam.pls> writes:

[snip]
> I can see that it's hard to get company funding for such research.
> But then: Software is a multi-billion dollar business, languages are a
> really fundamental tool for it (if you get a 5% increase in
> productivity by adding/removing a feature X from language Y this can
> be huge savings overall).  Yet nobody seems to be bothered that the
> evolution of computer languages goes like: Somebody has a cute idea,
> builds a language around it, tries to hype it, maybe attracts
> followers, maybe creates a market which then attracts more followers.
> It's all trial and error, like medicine in the middle ages.
> 
> A more scientific approach would be: Take a language X, build variants
> X-with-OOP, X-with-static-typing, X-with-funny-syntax and let
> developers use it under controlled settings.  Watch them.  Generate
> bug statistics.  Look for differences.  Try to explain them.  This
> would be hard work, difficult to do and expensive.  But I expect this
> approach would find better [1] languages faster.  The benefits might
> be substantial.
> 
> Matthias
> 
> ---
> [1] At least better w.r.t. certain application domains and certain
> types of developers.

The scientific approach requires usefully discriminatory hypotheses.
Language design is so art-ful that arbitrarily building languages as
you describe does not meet that criterion.

Here is another way to look at it.

Normally a science passes through phases:

a) Natural History.  Wander around, get the lay of the land,
collect specimens, and try to organize what you find into mnemonically
effective schemes.

b) Field Research.  Pose a hypothesis, isolate a piece of the field as
best you can, and apply your experimental factors and controls.
Observe results and interpret with a large grain of salt.

c) Lab Research. Set up isolated envieonments with significant
attention to eliminating non-experimental reasons for variation.  Pose
the hypotheses.  Observe results, and interpret with recognition that
a lab may be a poor model for reality.

You are asking that we jump to lab research when the field barely
sustains field research.  Mostly we are still in natural history and
anecdotes.  

Of course, even in the natural history phase pioneers and advance
scouts are capable of detecting an easier pass through the mountains
of comlexity.  If 20 people from varied background, each of whom has
worked in several languages, tell me that Python is a really great
language, then I'll take that as a significant data point.  Especially
if they are dumping their previously favorite languages (as varied as
COBOL, Perl, Java, C++, VB, Modula-3, Lisp, Prolog) to focus on
Python.


-- 
harry.g.george at boeing.com
6-6M21 BCA CompArch Design Engineering
Phone: (425) 342-0007



More information about the Python-list mailing list