[Python-Dev] Single- vs. Multi-pass iterability

Guido van Rossum guido@python.org
Thu, 18 Jul 2002 17:28:03 -0400


> > > > I've just had a thought. Maybe it would be less of a mess
> > > > if what we are calling "iterators" had been called "streams"
> > >
> > > Possibly -- I did use the "streams" name often in the tutorial
> > > on iterators and generators, it's a very natural term.
> >
> > OTOH in C++ and Java, "stream" refers to an open file object (to
> > emphasize the iteratorish feeling of a file opened for sequential
> > reading or writing, as opposed to the concept of a file as a
> > random-access array of bytes on disk).
> 
> ...and in Unix Sys/V, if I recall correctly, it refered to an allegedly
> superior way to do things BSD did with sockets (and more).  Any
> nice-looking term will be complicatedly overloaded by now.  I
> think "seborrea" is still free, though (according to some old Dilbert
> strips, at least).

Bah.  I rather like the idea of using "stream" to denote the future
rewritten I/O object, so I don't want to use it for iterators.

> Which leads us back to my "this is rather academic" statement:
> don't we need to stick with stdio to support existing extensions
> which use FILE*'s, anyway?

We'll need to support the old style files for a long time.  But that
doesn't mean we can't invent something new that does't use stdio (or
perhaps it uses stdio, just doesn't rely on stdio for various
features).

--Guido van Rossum (home page: http://www.python.org/~guido/)