[Python-Help] advocacy help ( Python vs VB )

Alex Martelli aleax at aleax.it
Tue Feb 26 02:00:58 EST 2002


On Tuesday 26 February 2002 01:25, Stefan Kuzminski wrote:
> I need to convince my co workers and erstwhile managers to build a
> production system in Python.  They're coming from a VB world and are
> fearful to detach from the Redmond mothership.  I need hard facts, not
> warm and fuzzies about syntax but names of big companies using Python and
> things VB just *cannot* do ( threads, regular expressions.. ? ).

Matthew Sherborne already gave you "the positive" so I'll focus on the
"against VB" side.

Ah, but WHAT VB are we "selling" against?  Microsoft is in the process
of changing VB *incompatibly* -- you would need to study it again and
rewrite just about all of your code to migrate to old VB6, which MS does
not like any more, to new VB.NET, which means betting your company
on MS's unproven, fascinating but risky .NET strategy.

http://groups.google.com/groups?q=visual+basic+incompatible+group:comp.lang.python+author:alex+author:martelli&hl=en&scoring=r&selm=9f93pa11ioh%40enews1.newsguy.com&rnum=1

for a short summary that I wrote of the backwards-incompatible changes
in the new Visual Basic versus the old one.

In theory the new VB can do anything, e.g. threads, and what it can't do,
you'll find or buy .NET assemblies that can and call them from VB.NET.

But, it IS all theory: *NObody* has yet shipped a real application nor
made money from VB.NET (except the authors of books and teachers
who are making a bundle from the justified panic of VB programmers
as they start to realize the huge extent of the changes and desperately
purchase training despite the parlous state of budgets -- nice timing,
Microsoft).  Are you willing to bet your company and your own personal
future on this blue sky concept?  MS will eventually get it right (they have
the money to finance that), but it generally takes them more than one
release AND patches etc -- will YOU still be around in, say, 3-4 years,
when finally the .NET platform is solid and stable?  Companies that
jumped onto the bandwagon of Windows back in Windows 1.0 bitterly
regretted it -- it took until release 3.0 (some would say 3.1) before
Windows at least established itself, and until Windows 95 before it
became decently productive to program for.

If your plans are on sticking with old VB6, realize that Microsoft itself
is now actively trying to force you all to migrate.  Have you ever been
on such a tug-of-war with a large vendor?  It IS reasonably frequent,
as vendors make their money only if you do migrate (which they call
"upgrade").  Soon you cannot buy new machines with the old software
any more, bugs aren't fixed any more, new functionality never appears
(of course: it all goes into the NEW incompatible system as one of the
inducements to you to migrate!).  It's a very uncomfortable and risky
situation for all involved.

It's a terrible time for users of VB because of this -- the old one is
becoming stranded and actively fought against by the vendor, the
new one is not yet stable and accepted in the market.

Look at Python as your lifeboat in this Titanic disaster!  Python does
not work by one release every 3 years or so -- a "big bang" -- it
does twice yearly releases with smaller changes and care for back
compatibility, PLUS bugfix releases of the stable previous release.

Today you can choose between 2.2 (the newest release, quite stable
but due for a bugfix 2.2.1 any day now) and 2.1.2 (the previous one, 
very stable with all bugs out), and just about every script you wrote
in 2.1.anything keeps working in 2.2 anyway (differently from VB.6
vs VB.NET where just about every program you wrote with the former
breaks in the latter).  And Python is simpler (fewer bugs) AND better
to start with (just about all changes VB6 -> VB.NET are in the
direction of taking VB a bit closer to Python ... MS is thus practically 
confessing that Python is a better language than VB6!-).


Python is free and, for free, comes with usable IDE's, but simpler
ones than the rich environment you get with VB6 Professional and
Enterprise.  But you can also purchase commercial IDE's which take
Python well beyond the VB IDE's abilities: take your pick between
PythonWorks, Wing IDE, BlackAdder ... the very fact of such friendly
but earnest competition makes each IDE better -- MS's lack of
competition makes them relatively stagnant and less keen to serve
you, the customer.  Personally, I don't (yet) use commercial IDE's
because so far I've found myself at ease with the free tools (but I'm
not doing lots of rich GUI's which is one of the main things IDE's
help with -- both VB's and Python's).  If you have some budget for
SW tools, look into the demo versions of the three IDE's above if
you need such things as "painting GUIs".

All of the tools (except a few windows-specialized ones such as
win32all / Pythonwin) are cross-platform.  ActiveState, which you
addressed in your original request, also have windows-specific
tools, such as Visual Python for integration of Python with MS
Visual Studio .NET, as well as cross-platform ones, such as
Komodo based on Mozilla's Gecko, but I didn't look at those so
I don't know what they provide.  Cross-platform means you can
do all your work on WIndows if you want, AND still tomorrow if a
market opportunity appears for you on (say) Linux or BSD or
Solaris, you can easily meet it.  Nice ace to have up your sleeve
FOR FREE -- heads you win, tails you break even (should there
never materialize such an extra market opp for your products).


Give it a try -- you'll never look back!-)

Alex




More information about the Python-list mailing list