Is this a true statement?

Dr. David Mertz mertz at
Mon Jun 25 02:10:39 EDT 2001

Peter Hansen <peter at> wrote:
|"Write a device driver [in language X]" means to use
|language X as the *source language*, and with existing
|(i.e. not theoretical) tools, turn that source into
|an output file (usually "machine code") capable of
|performing the functions typically defined as requiring
|"device drivers".  For more of us it does, anyway.

This requirement is simultaneously asking way too much and way too
little.  This has nothing whatsoever to do with what a language can do,
and only with what actually existing tools can do.

For example, let's say (maybe I'm wrong) that there are no currently
available C++ compilers for CPM.  Seems plausible at least, given the
dates of the various technologies.  Does that mean that C++ *cannot*
be used to write a device driver?  Or even that it cannot be used to do
so on CPM?  I think the answer is a self-evident "no."  Or even if one
finds some odd way to answer "yes", that is surely a fact about what has
been ported where and about operating systems... NOT about languages.

Similarly, let's say that there is currently no way to write a device
driver for WinME using ActiveState's Python 2.1 distribution for Win32,
with no extension modules not included with the distribution.  Well, of
course there *is* a way in Ulrich's trivial and therefore important
sense of writing a bunch of machine-code bytes.  But exclude that, and
claim there is no way "that naturally maps the program constructs to the
memory accesses involved."  The last is probably something true... but
it is only true as long as no one writes a extension
module that contains some functions like "access_memory_address()."  For
that matter, this module might turn out to be standard in 2.2 (anyone
want to write a PEP? :-)).

Yours, Lulu...

More information about the Python-list mailing list