Phillip J. Eby schrieb: > The difference between the two is that an extensible system is one that > follows the same rules for extenders as it does for its core > developers. For example, in the distutils, there are two ways to > register commands: one for extenders, and one for core developers. > (Actually, there are three, as there is yet another way added in Python > 2.4 for third parties to add commands as well.)
It's only a terminology issue, but I think most people would assume a different definition for "extensible". I'd call a system extensible if it supports being extended, period. By my definition, distutils is extensible; by your definition, it's not. > Another example is compiler support. Using the techniques of setuptools > and zc.buildout, we could allow anybody to write support for a > particular C compiler abstraction, to e.g. support cross-compilation. > They could distribute that support separately and would not have to be a > distutils developer to do so. Other people could use that support for > their own projects without having to bundle it in, and create the > massive distutils "extensions" used by many larger projects today. Actually, it is possible to add a new compiler to some Python installation, so that users can pass it to the --compiler option, and distutils packages don't have to be modified for that. You just have to extend the dictionary distutils.ccompiler.compiler_class. > Two of the biggest Python "community" development trends in recent > years, setuptools and WSGI, are good demonstrations of how a design can > be used to promote collaboration, rather than balkanization. The > distutils' design promotes balkanization through project-specific > customization, but this can be turned around with a better design that > allows more people to participate in development and extension. I don't object to improving the design. I object to dropping distutils and replacing it with something else. If certain functionality is missing in distutils (e.g. means for more transparent extension), then distutils should be enhanced to provide this functionality. Regards, Martin _______________________________________________ Python-3000 mailing list Python-3000@python.org http://mail.python.org/mailman/listinfo/python-3000 Unsubscribe: http://mail.python.org/mailman/options/python-3000/archive%40mail-archive.com