[Tutor] Shelve del not reducing file size

Andreas Kostyrka andreas at kostyrka.org
Sat Jul 28 10:02:16 CEST 2007

Hash: SHA1

Barton David wrote:
> Eric Brunson wrote:
>> You seem like a smart guy that's having a bad day, so I'm cutting you
>> slack.
> Thanks Eric. Yes I did indeed have a bad day (and it got much much worse),
> and this is most definitely a case of a bad workman blaming his tools. I
> apologise to all concerned for voicing my frustrations: it was clearly
> ill-advised.
> Still.. call me idealistic but I feel like a good toolmaker should try
> to listen to her
> clients.

Believe me, the Python developers are sure listening. Only that
"cleaning up the mess" has associated costs, that are usually not
acceptable. If it comes to "not breaking existing programs" or "cleaning
up the stdlib so it's nicer", "not breaking existing programs" is way
higher priority. There are also a number of things to consider:

a) adding a keyword is less of an issue, as breaks programs potentially
with SyntaxErrors before they run. Easy to notice, and easy to fix usually.

b) adding a name in some module is usually not a problems. The only
issue could be imports like that:
   abc = 1
   from module import *
where module adds "abc" would clobber the abc in the customer module.
OTOH, there are really few modules where it is considered usual and ok
to use the star form of import.

c) removing (or renaming, as that removes the old name too) in the
library breaks programs, and worse it breaks them only when the name is
used. Despite rigorous testing, you cannot catch these every time.

So the above observations explain why there is an urllib and urllib2,
removing urllib would imply that many many programs would break. Worse
some would break in production. (btw, some functions in urllib are still
not duplicated, so just removing urllib wouldn't be an option anyway)

So I have to ask all the nice-to-the-newbie guys, what is your take on
this? Should we break existing and deployed applications, so that the
stdlib can look nicer to a newbie? And that is an issue, less for
Windows where one has to install Python yourself, but on Linux boxes one
usually uses the OS provided python version. One fast apt-get upgrade,
and deployed application can trip over any incompatibilities.

> I am not a dedicated programmer. I have other stuff on my plate. I probably
> wouldn't be a programmer at all if Python wasn't (in the early stages) so
> fabulously friendly.

It's still fabulously newbie friendly. And that's why it's one of the
languages that many non-developers are using, usually engineers and
scientists. :)

Version: GnuPG v1.4.2 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org


More information about the Tutor mailing list