[Python-Dev] about sparse inputs from the jython userbase & types, language extensions

Samuele Pedroni Samuele Pedroni <pedroni@inf.ethz.ch>
Mon, 12 Mar 2001 17:47:22 +0100 (MET)


Hi.

What follows is maybe to abstract or naive to be useful, if reading this is 
waste of time: sorry.
Further I ignore the content of the P3K kick-start session...

"We" are planning to add many features to python. It has also
been explicitly written that this is for the developers to have fun too ;).

Exact arithmetic, behind the scene promotion on overflow, etc...
nested scopes, iterators

A bit joking: lim(t->oo) python ~ Common Lisp

Ok, in python programs and data are not that much the same,
we don't have CL macros (but AFAIK dylan is an example of a language
without data&programs having the same structure but with CL-like macros , so 
maybe...), and "we" are not as masochistic as a commitee can be, and we
have not the all the history that CL should carry.

Python does not have (by now) optional static typing (CL has such a beast, 
everybody knows), but this is always haunting around, mainly for documentation
and error checking purposes.

Many of the proposals also go in the direction of making life easier
for newbies, even for programming newbies...
(this is not a paradox, a regular and well chosen subset of CL can
be appopriate for them and the world knows a beast called scheme).

Joke: making newbie happy is dangerous, then they will never want
to learn C ;)

The point: what is some (sparse) part of jython user base asking for?

1. better java intergration (for sure).
2. p-e-r-f-o-r-m-a-n-c-e

They ask why is jython so slow, why it does not exploit unboxed int or float
(the more informed one),
whether it is not possible to translate jython to java achieving performance...

The python answer about performance is:
- Think, you don't really need it,
- find the hotspot and code it in C,
- programmer speed is more important than pure program speed,
- python is just a glue language
Jython one is not that different.

If someone comes from C or much java this is fair.
For the happy newbie that's deceiving. (And can become
frustrating even for the experienced open-source programmer
 that wants to do more in less time: be able to do as much things
 as possible in python would be nice <wink>).

If python importance will increase IMHO this will become a real issue
(also from java, people is always asking for more performance).

Let some software house give them the right amount of perfomance  and dynamism
out of python for $xK (that what happens nowaday with CL), even more deceiving.

(I'm aware that dealing with that, also from a purely code complexity viewpoint,
may be too much for an open project in term of motivation)

regards, Samuele Pedroni.

PS: I'm aware of enough theoretical approaches to performance to know
that optional typing is just one of the possible, the point is that
performance as an issue should not be underestimated.