MHammond at skippinet.com.au
Wed Jun 16 15:47:44 CEST 1999
> The main problem with Perl's I/O abstraction layer is that extension
> modules now have to call e.g. PerlIO_open(), PerlIO_printf(), etc. in
> place of their stdio counterparts. Surprise surprise, many extension
Interestingly, Python _nearly_ suffers this problem now. Although Python
does use native FILE pointers, this scheme still assumes that Python and
the extensions all use the same stdio.
I understand that on most Unix system this can be taken for granted.
However, to be truly cross-platform, this assumption may not be valid. A
case in point is (surprise surprise :-) Windows. Windows has a number of C
RTL options, and Python and its extensions must be careful to select the
one that shares FILE * and the heap across separately compiled and linked
modules. In-fact, Windows comes with an excellent debug version of the C
RTL, but this gets in Python's way - if even one (but not all) Python
extension attempts to use these debugging features, we die in a big way.
More information about the Python-Dev