Why use Python?

Alex Martelli aleax at aleax.it
Wed Aug 29 04:19:57 EDT 2001


"Peter Milliken" <peter.milliken at gtech.com> wrote in message
news:9mi1uv$1t83 at news1.gtech.com...
> Well there you go - you at least have some comparision between Python and
> other languages. So lets turn the question around - Why would you want to
> use VB for Windows programming instead of Python? I haven't seen any
> comparisions between VB and any other language.

As a language, VB's rather a mess -- a bit less of a mess
in the new version (VB7 aka VB.NET), incompatible with all
of the old ones (current VB6 and earlier), but still a
mess.  It doesn't have a real small core of unifying
concepts, the syntax rambles all over the place, etc --
it's chaotic and largish, but not very expressive, as
opposed to small, tight, elegant, clean and amazingly
powerful like Python.

What VB has going for it are excellent *tools* and good
integration in important environments.  A beginner who's
"just using Word" can initiate "recording a macro", just
manually perform a task he or she would like to automate,
and get a working snippet of VB generated -- it won't be
very good VB, but it will be a start, and tweaking that
macro into doing just what the beginner wants will be a
good first approach to the language.  Graduating to some
more ambitious tasks, the beginner will find integrated
tools to paint GUI's and attach code to handle events,
connect to databases, write webpages with code and DB's
behind them, and so on, and so forth.  The beginner may
not get a good conceptual grasp of what's going on (quite
likely, considering that conceptual consistency is NOT
a VB strength:-), but things will sort-of-work and the
psychological effect of the tools "holding your hand"
may help.  Becoming more ambitious yet, the beginner may
start including variable declarations, "just like all
the big boys say you should", and even get "a real native
code compiler, WOW!" -- never mind that "native code"
won't run any faster than a bytecode-interpreted version,
and the EXE won't be standalone anyway as it needs huge
runtime DLL's -- the *buzzwords* are all there.

There are some strong technical points underlying all
this -- particularly, the COM/Automation architecture,
truly Microsoft's best technical output ever (finally
being well imitated in Mozilla's XPCOM, maybe too late).
The weakest link in this powerful chain of tools is,
alas, the rather wretched VB language -- although,
again, it IS a bit better (a bit closer to Python:-)
in VB7 (backwards compatibility is apparently not a
real constraint for Microsoft -- lucky guys:-).  But
the "VB Experience" as a whole is not so much about
the language itself, as about the COM/Automation/ActiveX
(&c) architectures, AND the easy, hold-your-hand tools.


Alex






More information about the Python-list mailing list