Python versus VB

Alex Martelli aleax at aleax.it
Thu Oct 30 06:22:07 EST 2003


Simon Foster wrote:

> 
> I am meeting with a potential client next week to
> discuss starting a new project.  His preference is for
> VB whereas I would prefer Python for obvious reasons ;-)
> 
> Could anybody come up with a short list of the pros and
> cons of the two languages (I am not terribly familiar
> with the strengths/weaknesses of VB).  This will be a
> general-purpose text-processing type application with no
> GUI required.

I see you've already received many responses, but I just
wanted to point out another argument that might perhaps
help you convince the client that Python is better for
them: VB is undergoing a wrenching transition.  VB6, the
one it's easy to find cheap maintainers for (I suspect
that may be part of your client's motivations for wanting
it), is dying.  VB.NET is very different from, and not
very compatible with, VB6 (the syntax LOOKS similar but
the semantics have been very substantially changed).

If your client insists on VB6 they'll clearly be cut off
from the future, whether that future develops like MS
would want it to, or like MS's enemies would:-).  If they
insist on VB.NET, they'll be using a newish and still not
all that stable language AND infrastructure, probably not
able to support older PC's they might have around, and NOT
easy to find people skilled in, either (it seems most .NET
experts prefer C# and most VB experts are very reluctant
to sacrifice their hard-won experience to jump onboard the
latest-craze VB.NET).  Neither choice between these two
incompatible languages named "VB" is very appealing.

If your client accepts Python, the application will be
able to run just about anywhere (not sure if we have a
version for toaster ovens yet, but, watch this space) --
older versions of Windows (why, even *DOS*!!!), all the
way to the newest ones, _AND_ nonWindows machines as well
should your client ever decide to try one in the future.

VB's alleged advantages include a GUI painter (no matter
given the "no GUI required" situation), and lots of sort-of-
programmers for hire cheap (but only for VB<=6, and those
s-o-p's abilities may sometimes not be all that good).
"alleged" because Python has such tools too (e.g., the
BlackAdder IDE integrates with Qt Designer for GUI painting,
etc), indeed a great choice of commercial and free ones,
AND Python is so easy to learn that maintaining Python code
isn't costly (perhaps cheaper than any other languages, all
other things being equal).  If your client focuses on "making
an EXE" (w/supporting DLLs etc), Python can do that just as
well as VB (w/3rd party tools such as py2exe -- free ones!).

Python's advantages include portability, simplicity, power,
programmer productivity, huge choice of 3rd party extensions
and tools (mostly free, a few good commercial ones too),
stability (no troublesome VB6 -> VB.NET transition, at least
not right now:-), ease of learning, readability, ...


Alex





More information about the Python-list mailing list