Why python???

Alex Martelli aleax at aleax.it
Fri Sep 5 16:59:25 EDT 2003


Michael Peuser wrote:
   ...
> A very good reply! But I have an answer as well: The only reason why Linux
> got a market share is Moore's Law. Nobody of clear commercial thinking

Moore's Law is working in favour of higher level languages even harder
than it's working in favour of free but highly efficient OS's.

> will pay $200 for an operating system when the hardware has the same

Most Linux use of commercial significance is not happening on such
incredibly cheap systems, but rather on reasonably substantial servers
(or sometimes even mainframes -- IBM _has_ invested a lot in Linux:-).

The issue you mention MAY play a role in ensuring a nice for Lindows
(and other desktop-oriented versions of Linux), but the server side
is where Linux got its first foothold.

> price! There is nothing like that happening with respect to languages or
> development tools. Commercially it is of no major significance whether a
> tool costs $100, 1000 or 10.000. The real money has to be paid for the
> programmer, for testing, for maintenance, for advertising, for waranty;
> 1000 to 10.000 times as much!

Moore's Law is crucial in determining how much performance is necessary
to make a given piece of software good enough.  Once upon a time, only
machine code was good enough -- hardware performance was SO costly that
it was cheaper to employ ten times as many programmers than to get HW
ten times faster, for most tasks of practical significance.

In the late '50s/early '60s, the first high-level programming languages
began to gain substantial commercial foothold -- because, thanks to
Moore's Law (not formulated yet, but already in action), the price/
performance of hardware was getting good enough to afford _some_ minor
inefficiencies in order to save on programming effort.

The gradual spread of higher-level languages to more and more areas
is following just the same law.  For any given program functionality,
you can get it cheaper (and slower) by using a higher-level language
than by using a lower-level one.  The cheapness applies just as much
to testing and maintenance as to development -- there's less to test
and less to maintain for any given amount of (say) FP's.  And the
speed-to-market results in hitting market windows better and thus can
even reduce the needed investments in advertising (as for warranties,
they don't currently play any significant role in big-money software,
or else Microsoft, with its level of bugginess and security issues,
would be broke many times over by now;-)


> So it comes to the question: What does the common programmer know? This is

Not necessarily.  If common programmers only knew machine language,
it would still be cheaper to use any available high-level language,
say COBOL, even if you needed to supply training for it (it's not
hard to teach COBOL to somebody who knows assembly, anyway -- the
reverse is harder).  Similarly, using Python can lower costs even
if you factor in training costs (again, teaching Python to good
Cobol programmers is quite easy -- other higher-level languages may
not be _quite_ as cheap in these terms, admittedly, but still the
economics aren't _hugely_ different).


Alex





More information about the Python-list mailing list