On Jan 24, 2005, at 16:18, has wrote:
Bob wrote:
Now, what about the newbies, the new blood? The folks who are complete newcomers to Python and/or to programming in general?
Personally, I'd rather not be bothered catering to that class of users.
Well, I know _you're_ not - that's why the Universe inflicted me upon you, as a form of karmic balance. ;)
Still, it's a general question, open to all, and I'm curious to see what perspectives other folks can bring.
I'm more inclined to expand what is possible in the first place (in my spare time anyway)... with occasional bouts of cleaning things up and hand-holding (writing documentation, speaking at PyCon, doing a tutorial now and then, answering the mailing lists, setting up websites, releasing software, etc.).
All of which is hugely appreciated, of course. While I might not doff my cap at every encounter, I'd be the first to acknowledge that you're one of major backbones to MacPython; and without folk like you and Jack and Ronald to support it, it probably wouldn't exist.
All the same, I would suggest one small caveat: when developing material intended specifically for the standard library, one should deal with the users one gets, rather than the users one might ideally like. One of Python's great features many other languages, for example, is that it doesn't by design exclude those who _don't_ know what they're doing; and IMO anyone contributing to the language or standard library should feel a certain, shall we say, 'moral obligation' to respect and uphold that position, even if it's not something they have an ideological interest in themselves.
Other than small patches (plistlib is the biggest of these I guess), filing bugs, and bugging the right people, I have contributed NOTHING to the Python standard library and if I did I would be catering to the general community. I personally don't use much stuff in the Python standard library, and when I do end up using it I usually have to rewrite it in some way ;)
For example, bundlebuilder wasn't adequate, so I wrote py2app. py2app originally used modulefinder, but it proved inadequate so I wrote modulegraph. I regularly use Twisted (or Objective-C stuff) for networking because the built-in stuff is not scalable and threading in Python sucks. I fixed plistlib because it handled a few datatypes incorrectly... This is of course not a definitive list :) I do use a lot of the low-level stuff without complaining too much (the data types, itertools, os, sys, datetime, time).
Sure, PyObjC and (at least components of) py2app might be slated for inclusion in Python itself, as standard MacPython batteries, or components of some future Mac OS X, but the reality is that they are not yet and there is nobody (that I know of) actively petitioning for this kind of inclusion right now (especially me). It's a tradeoff, once something goes in the standard library or Mac OS X, deprecation takes a long time. In py2app, I still have the freedom to make or break any feature on a whim ;) PyObjC less so, but Ronald and I have a bunch of ideas for PyObjC 1.3 that may cause some minor breakage in the name of functionality and correctness. For example, making the class hierarchy identical to that of the Objective-C runtime, including metaclasses, which fixes the class/instance selector problem but breaks the old-style-class idiom that SomeClass.someSelector(self) is the same as self.someSelector(). Hopefully people aren't doing that, but it's possible they are in some cases at least with NSMutableString because our support for that was kinda stupid in 1.1 and earlier.
-bob
_______________________________________________ Pythonmac-SIG maillist - Pythonmac-SIG@python.org http://mail.python.org/mailman/listinfo/pythonmac-sig