Python and DB support (was: Re: Is Python Dead?)

Alex Martelli aleaxit at yahoo.com
Tue Jul 3 08:29:54 EDT 2001


"Roman Suzi" <rnd at onego.ru> wrote in message
news:mailman.994155184.16109.python-list at python.org...
    ...
> Anyway, I wanted to say that some generic (!=Windows only) ADO
> could help for those who consider Python for tasks usually
> done with PHP or ASP.

We seem to keep hitting a brickwall here.  Let's try an analogy.

It's exactly as if somebody said "consider Fortran for tasks
usually done with Lisp or Unix".  This is not an "alternative".
Fortran is a language.  It runs within environments.  Unix is
an environment within which some languages run.  You do not
*CHOOSE BETWEEN* Fortran and Unix.  You choose your language
and your environment, and it could, if you want, be Fortran
under Unix.  If you like Fortran and you like Unix, go for it.
Of course Fortran also runs on many other environments (not
all) and Unix also runs many other languages (not all), but
that doesn't make them ALTERNATIVE to each other!!!

Now, it's EXACTLY the same situation: you say "consider Python
for tasks usually done with PHP or APS".  This is not an
"alternative".  Python is a language.  It runs within environments.
ASP is an environment within which some languages run.  You do
not *CHOOSE BETWEEN* Python and ASP.  You choose your language
and your environment, and it could, if you want, be Python under
ASP.  If you like Python and you like ASP, go for it.  Of course
Python also runs on many other environments (not all) and ASP also
runs many other languages (not all), but that doesn't make them
ALTERNATIVE to each other!!!


*WHY* is it apparently so durned HARD?!  Why do people keep
saying "ASP" as if it somehow IMPLIED a language choice when
one can perfectly well run any number of languages even on
the *SAME SINGLE* Active Server Page?!  Microsoft brainwashing?
Anti-Microsoft brainwashing?  I don't really understand.  It's
clearer why people may believe that taking advantage of the
JVM and the huge amount of libraries for it somehow requires
coding in Java (it doesn't, of course - Python is a possible
alternative!), since Sun has done their best to blur the key
distinction between language and environment.  But Microsoft
HAS been highlighting in glow-in-the-dark bright orance that
THEIR environments are FULLY multi-language, since day one.
Is Microsoft marketing really SO feeble that they still have
not been able to get THIS single VERY simple point across?!


If you're considering deploying Python on IIS, it really makes
no difference whether Python duplicates much of the powerful
infrastructure that you get on IIS anyway -- it's crucial that
Python lets you fully exploit that existing infrastructure, but
any duplications are mostly wasted effort.

If you're considering deploying Python or PHP on Apache in a
cross-platform way, or on some specific target system where
ADO is not available, then what you need to compare is not
either language vs ADO, but the languages and their libraries
with each other.  I'm no PHP expert, but it appears to me that
the closest you get on PHP to a DB-independent interface is
as a part of PHPLib, e.g. cfr
http://phplib.netuse.de/documentation/documentation-3.html#ss3.1
After studying that page a bit, unless I'm missing something,
it appears to me that this interface is *VASTLY* inferior to
the Python DB API.  In particular, there's nothing even
vaguely approaching the nice convenience functionality that
ADO supplies.

So *what* makes you think people are choosing PHP rather than
Python because of DB connectivity issues?  Apparently they're
so choosing DESPITE Php's _inferiority_ in DB connectivity.
So, further enhancing the DB functionality of Python seems
unlikely to have any important effect in this regard.


It may very well be that it's worthwhile designing a higher
level, somewhat ADOlike superstructure on top of the DB API,
but, if so, then it DEFINITELY cannot be because of some
kind of "competition" between Python and PHP -- much less,
of course, "between Python and ASP", which is as peculiar a
"competition" as "between Python and Unix" or "between
Python and the JVM"...!!!


Alex







More information about the Python-list mailing list