Typing system vs. Java

Alex Martelli aleaxit at yahoo.com
Tue Aug 14 23:26:43 CEST 2001


"Andy Freeman" <anamax at earthlink.net> wrote in message
news:8bbd9ac3.0108141204.1518e81c at posting.google.com...
    ...
> Moreover, it's not clear that language changes are required for
interesting
> speedups.  Alex has mentioned ways to significantly speed up dispatch,
> which happens to be one of the biggest opportunities for using type
> information to increase performance.  There's also type inference, which

And let's not forget Skip Montanaro's much more concrete proposed-PEP
for object-tracking (posted to Python-DEV, though briefly discussed here
today).  That one seems bright and beautiful to me, and much closer to
practical implementability than my own blue-sky babblings about
method-caching.


> While there's some work being done on python performance, it isn't getting
> nearly the attention that one would expect given the opportunities if
> performance really was a significant problem.  It's possible that Guido
> et al's priorities are completely wrong or that they don't see the
> opportunities, but ....

It seems to me that a very significant fraction of the restrictions that
appear to be due to fall upon Python in the near future are very much
motivated by performance "getting attention" -- we're going to lose a
portion of Python's dynamic abilities, and some of the remaining ones
will not be active by default any more, basically to ease optimization
tasks (and secondarily to protect "typical users" from potential errors
that, in my experience teaching Python and helping "typical users",
don't really happen -- accidentally changing a class's attribute or an
instance's class... I don't think I've ever seen that happen actually).

So much for Eckel's "Why I Love Python"... e.g. his arguments about
Python being superior to Java because of the "necessary for speed"
type-awkwardness of the latter, while in Python speed is obtained
through an escape mechanism (extensions) while the language has
"no compromises: it's all about making me more productive".  I
find I'm naturally brought to speak about the Python I love (just
as much as Eckel does) in the past tense, even though the actual
fall of the axe is scheduled for the future -- 2.2 still leaves me
"classic classes" that are smoothly and seamlessly dynamic, it's
only for 3.0 that they're going to be yanked away, and even then,
if I'm lucky, I might get a backwards-compatibility metaclass so
I can keep playing in my sandbox, maybe... what's really very
frightening is the "performance getting attention" aspect -- and
the predictably-destructive backlash against some of the most
interesting, although, for now, peripheral, parts of the language.

(Even with the peripheral nature of these changes, I think they'll
still push us to more front-loaded gotta-foresee-all design and
against XP-ish just-in-time-design -- with a substantial negative
impact on overall productivity larger than the 'marginal' nature
of the affected areas would seem to justify).  Oh well, maybe I'm
just being pessimistic tonight.


Alex






More information about the Python-list mailing list