Visual Basic - Python compare
db3l at fitlinxx.com
Tue Apr 29 19:00:41 CEST 2003
fcslka at yahoo.com (Kent) writes:
> 7. In the interest of being honest, Python support in development
> tools is weak. There are many IDEs for Python, most of which are
> immature, or are Python-only. What needs to happen is for full
> support of Python to be built into existing IDEs. There's Visual
> Studio .NET support, but boy, it's expensive. NetBeans and Eclipse
> could really help us out here if we could get more than just cursory
> support for Python in those otherwise great environments.
At the risk of over-emphasizing this aspect, I do think that the OP
needs to consider this when it comes to replacing a VB environment
with Python, particularly when it sounds like the application is
already fairly well separated into back-end logic (the C++ COM
objects) and front end UI (the VB code).
I'd completely agree that in a pure language comparison, there's very
little to recommend VB over Python. However, to the extent that you
are really comparing the RAD for VB development and/or its ability to
design and implement the UI (and only the UI) for a system, the
comparison is a lot closer.
We're at the point of making some similar decisions for our upcoming
projects. In our case we've got existing VB licenses, and budget
constraints, so fair or otherwise, a switch to Python is difficult if
it involves too much cost. I can break budgets if I need to, but I'm
probably hardest on myself in terms of justifying it.
We're definitely moving to Python as our core language for the new
projects, and Python will be used to implement all core code and
business logic. However, there's still the question about the pure-UI
presentation layer. I've kept abreast of the IDE and UI development
environments for Python over the past few years, and to be honest, at
the moment I've come to the conclusion that today it's still difficult
to come up with a GUI layer RAD for Python that is comparable to VB.
Even without trying to move to VB.NET, the existing VB 6 environment
within Visual Studio is darn nice for screen layout and basic forms
construction. Our developers are already experienced with it, and to
be honest, I'm not sure a Python solution would improve our
productivity or end result that dramatically for the UI layer.
When it comes to Python UI, I have yet to find an obvious solution
over VB, if you want a RAD and a screen designer. There just aren't
that many RAD tools (even including commercial), particularly at
I happen to be in the wxPython camp and that's what we've used for all
Python UI projects internally to date (generally manually designing
screens in code, which I'm fine with but which I don't think scales to
larger developments with our development staff). I expect I'd
seriously consider Qt instead with its excellent QtDesigner, and
particularly with its portability to embedded systems, if it didn't
cost an arm and a leg for commercial development. Heck, I can buy
multiple MSDN licenses covering multiple languages and tools for the
cost of one Qt license on one OS. That's a hard pill to swallow.
In terms of Python IDEs, most are code/debug only, no GUI. In the
wxPython world, BOA Constructor is getting there but still too much of
a moving target to my mind, and you have to like the Delphi model.
PythonCard may be promising but is also early on. wxDesigner is nice,
but not integrated into a more general IDE. For Qt, I was initially
excited about BlackAdder on the commercial front because of it's
inclusion of a Python Qt and designer at reasonable cost, but it feels
like a dead project to me at this point (still beta after how long?).
For Tk, Pythonworks is interesting, but I just don't prefer the look
of Tk of under Windows.
My leading contender for a VB replacement was to use wxDesigner
(reasonably priced) for screen design for wxPython. But to be honest,
it's still almost a wash if I keep the UI code strictly presentation,
so it's unclear that it's worth moving away from VB at this point.
It is, however, my general plan should I want to move in that direction.
That's not to say that it would be a bad idea to replace VB with
Python in a project. But to the extent that VB is being used solely
as a presentation layer and screen management, I think the tradeoffs
are much closer than might be suggested by an overall language
comparison, since the environment plays a substantially larger part in
the productivity of the system.
\ David Bolen \ E-mail: db3l at fitlinxx.com /
| FitLinxx, Inc. \ Phone: (203) 708-5192 |
/ 860 Canal Street, Stamford, CT 06902 \ Fax: (203) 316-5150 \
More information about the Python-list