Why did no one invent Python before?

Tim Bradshaw tfb+google at tfeb.org
Thu Jun 3 15:42:55 CEST 2004


j_mckitrick at bigfoot.com (j_mckitrick) wrote in message news:<ec6dce8b.0406021449.6341a3fa at posting.google.com>...
> Yes, it's a silly question, but given how far we have come, why is it
> that a natural looking, easy to read, incredibly powerful language has
> appeared only recently, from a tech standpoint?

Well, discarding the fact that Python isn't really new, I think there
are several factors (in no particular order):

* machine speed/cost.  Machines probably started offering enough
price/performance (or just simply enough raw performance, ad any
price) to make languages which concentrated on human usability rather
than optimising performance at the price of everything else viable
around 20 years ago.  10 years after that programmers noticed this
(many still have not, of course, and bizarrely also have not noticed
that machines are no longer like PDP11s, resulting in lots of
`optimized'-but-slow programs...).

* Language design issues.  A lot of the people who designed languages
which were oriented towards usability rather than performance fell
into the trap of designing those languages for expert users: people
who would want to do lots of really advanced things with the language,
such as design their own domain languages and so on.  The tradeoffs
needed to do this typically steepened the learning curve for the
language enough that lots of people just gace up.  Lisp is the classic
example of this.  Python has got this just right: it's really easy to
learn Python - no hairy macros or strange syntax to support them - and
unless you come from a Lisp background it only occasionally feels like
hammering nails into your own head.

* Big standard libraries.  I think this is largely an artifact of the
technology boom.  For much of Python's life high-tech companies were
making so much money that it was considered fine for people to work on
some library for Python.  That's somewhat changed now, but Python is
way over critical mass.

--tim

*



More information about the Python-list mailing list