Can Python replace Visual Basic? Should it?

Brad Bollenbach bbollenbach at homenospam.com
Tue Mar 6 13:05:09 EST 2001


"Werner Schiendl" <ws-news at gmx.at> wrote in message
news:983898657.328387 at newsmaster-04.atnet.at...

[snip]
> In general I agree that one should know how tha mechanics of the program
> works. But I think it is not necessary to know how Visual Basic registers
> Active X Controls in detail. It works and I know how to invoke it, what's
> the problem? I do not know in detail how the .EXE file is made up or how
my
> harddisk handles CRCs. And still the programs work fine...
[snip]

Okay...I said this should be a separate thread, but you asked for it... :)
Here are just a few of the things I don't like about IDE's, with my point
being that they obscure the programmer's view of what's going on, and
therefore can often do more harm than good (and quite honestly, make one a
worse programmer than when you started).

I'll refer to Powerbuilder 6.5.1 on Win32 systems, which is what my day job
pays me to use right now. For those not familiar with Powerbuilder, it's
very similar to VB in its GUI-building capacity, and is arguably best suited
to developing client-server heavily database oriented programs. It's also
object-oriented, or not, depending on who you ask (so don't flame that
statement please).

Now...what don't I like about this IDE?

First of all, if you create a basic visual user object (akin to a "class"),
say a regular button to which you add some custom user events then you want
to place this on your form. Now you want to put this on one of your forms,
so you click on the User Object icon and click the "Inherit" button, then
find this new button you've inherited from PB's base button and modified,
and put it onto your form. The property sheet's title bar for this button on
your form will now say "cb_whatever inherited from u_cb_baseclass", when in
fact this isn't even inherited because cb_whatever cannot be further
inherited. In other words, what you've really done is instantiated it.

This throws a wrench in the works for those of us who think we know OO
terminology, already instilling a misunderstanding of how our objects exist
and interact within the system.

Another hindrance...Powerbuilder keys objects in the system by the .pbl (a
Powerbuilder library of objects) they are located in, _rather than the name
of the object_. I've found this wastes huge amounts of time when trying to
locate an object when I can't remember the .pbl it's in (and it certainly
doesn't take any kind of genius to figure out that this ordering scheme is
ridiculous).

Yet another annoyance, again related solely to the IDE: in Powerbuilder you
_cannot_ have a base class and one of its direct descendants open at the
same time (however two levels down is okay). Do I need to explain how
annoying this is when I'm trying to debug code by reading it through, and a
function that is defined in the super class can't be accessed because of
this limitation without closing down the object whose code I was currently
reading? Ugh...this is another limitation that I encounter at least a few
times a week.

Finally, briefly, I hate the fact that Powerbuilder only allows you to see
(to my knowledge) the code of a single method of each object at a time, when
sometimes I want to be able to let my eyes jump from method to method as I
scroll so I can follow what's going on smoothly, without always narrowing my
view to one method at a time. Combining this point with the previous
paragraph, and the idea of trying to debug your code in your head before
jumping to the debugger is an absolute nightmare.

I'll stop there, to keep the size of this already lengthy post to a minimum.
But the points I mentioned cover only about half of the things that _really_
annoy me about that IDE, not to mention the scores of other little bugs that
have occassionally caused me to lose a whole method's worth of code now and
then. As for VB, it can be said simply that I love playing with OO (yes, I
call it "playing" even though it's what's paying the bills :) and of course,
VB doesn't offer that yet.


Brad





More information about the Python-list mailing list