ANN: PyStream - a C++ stream emulation

Neil Hodgson neilh at scintilla.org
Wed Aug 23 21:30:44 EDT 2000


Mark Hadfield wrote,
> "Neil Hodgson" <neilh at scintilla.org> wrote in message
> news:gBFo5.8902$Xg.88755 at news-server.bigpond.net.au...
> >    It is almost worth starting a Python 1.5.2 conservation society and
web
> > site to preserve Python at the height of its beauty when it had a good
> > license and hadn't been line noised with augmented assignments and IO
> > redirection operators. Pity 1.5.2 doesn't include Unicode support.
>
> Am I the only person who sees an irony here?

   Yes ;) Use of irony in Usenet messages is dangerous as its too likely to
be misinterpreted. However, the second sentence was supposed to damage the
credibility of the first.

> This is the reason (well, one of the reasons) for feature-overloaded word
> processors. Everybody wants a small, light, elegant word processor, and
> everybody wants just one feature (a different one in every case) that the
> small, light, elegant word processor doesn't have.

   This is a core tension in many software development projects. The
tendency towards complexity seems close to inevitable. The best projects
manage to maintain a sense of cohesion as that growth occurs. What has
concerned some of us with Python is that what we discerned as key principles
behind Python are not being followed in recent changes. This could be
because we underestimated the priority of pragmatism to Guido and other
developers.

   The "print" statement is a good example here. A print function could have
been defined with no great difference - one extra character (')') would have
to be typed and there would have to be a version that didn't print the
newline. With print defined as a function then making it a method on a file
object is also quite easy: sys.stderr.print(a,b). However, since print is a
special case, it has to be extended using even more novel syntax, widening
the language hole. Special syntax zones don't just enable some cute
features, they often disable the normal language extensibility features.

   Neil







More information about the Python-list mailing list