| By Bob Hendry | Article Rating: |
|
| June 1, 2003 12:00 AM EDT | Reads: |
15,563 |
Over the past six months I have been working with programmers with Visual Basic backgrounds. Usually this is a recipe for disaster - like getting dog people and cat people in the same room. With the .NET languages in full swing, and PowerBuilder transformed into a language we would not have recognized only three years ago, this whole thing about PowerBuilder versus Visual Basic has become outmoded and irrelevant. Now I would like to take one parting shot at the worst client/server language ever invented - Visual Basic.
Over my cube wall I can sometimes hear debates about using "data bound" versus "non-data bound" controls. I've often heard murmurs of such discussions but never paid them much mind. Take a quick peek at Visual Basic-related newsgroups and you'll see them clogged with questions on how to bind database columns to this-and-that control and so on. They start with, "Can anyone tell me how to bind my DataGrid to an ADO control?" "Why yes! First you build a...." The thread ends with "Thank you. You rock dude!"
No dude, you don't rock. Binding data to controls is a one-way ticket to hell. Visual Basic should never have allowed this concept. I can only draw the conclusion that Visual Basic is evil.
In the beginning, Visual Basic allowed people to take a programming class in college and call themselves programmers. Drunk with the debauchery of the dot-com era, herds of nontechnical people learned Visual Basic so they could cash in on the large salaries of the day. This is how it worked. First, the professor shows the class how to drag-and-drop controls on the form to demonstrate how simple programming really is. After a remedial session on looping constructs and decision blocks, it's time to talk databases. Almost nothing is mentioned about relational, database design, or implementation. Now it's time to connect the database to the controls. With a few simple drag-and-drops, or by using a data wizard, the data from the database columns magically appears in controls such as a TextBox or DataGrid. The whole class beams with their accomplishment. High fives all around. No dude, you don't rock.
Better yet, the class is introduced to the Visual Basic data environment - set up the connection, add a Command class or two, and then drag this beautiful creation onto the form. The data environment will even create all the necessary TextBoxes for you. Another scenario is for the class to build a Web site using Web classes. Not only are you a programmer, but a Web developer. Yaaaa-hooo!
Why are data binding, data environment, and various associated wizards so evil? They limit you, the programmer. They prevent you from becoming better, making more money, and getting promotions. You don't know what happens behind the scenes, so when something goes wrong, you're so lost. Also, data binding locks you in - when you have to go beyond its abilities (which happens in all but the most trivial apps), it's incredibly difficult to break through its limits.
What are the practical problems you'll encounter with data binding? The first one you're likely to run into very quickly is the inability to exercise data concurrency control. Say you have two users accessing the same row of data. This is difficult enough to control with ADO - with data binding it's nearly impossible. The second, much more difficult problem to resolve, you'll run into later, when the product has already been designed and written. This is the inability of the data binding engine to adjust itself to your database situation. The data binding engine does not know where your database is, whether the pipe the data is traveling through is high or low bandwidth.
As a PowerBuilder programmer, I could not care less about Visual Basic. The problem I have is when organizations realize that Visual Basic was designed for toy applications. At this point they move on to more robust tools, like PowerBuilder. Then the swarms of Visual Basic programmers scream about the inadequacies of PowerBuilder. I often hear "PowerBuilder does not support data binding!" or "This was so much easier in Visual Basic." Pass me the tissues. You should have never learned Visual Basic in the first place.
With pure client/server languages in the twilight of their careers, existing Visual Basic applications will either be migrated to VB.NET or left to die on the vine. Rest in peace Visual Basic; I will not miss you.
Published June 1, 2003 Reads 15,563
Copyright © 2003 SYS-CON Media, Inc. — All Rights Reserved.
Syndicated stories and blog feeds, all rights reserved by the author.
More Stories By Bob Hendry
Bob Hendry is a PowerBuilder instructor for Envision Software Systems and a frequent speaker at national and international PowerBuilder conferences. He specializes in PFC development and has written two books on the subject, including Programming with the PFC 6.0.
![]() |
Captain Caveman 06/27/03 09:39:00 AM EDT | |||
Hello Bob, I find it incredible that someone actually admits to being a "VB guru" and goes on to defend the technology without any evidence. Most VB people I have spoken to know that the technology is poor and that what they are doing is low-tech. The people that really bother me are those that actally think VB is okay. I say to these people to please, please go and read some books on computer technology. If you cannot read then please sign up to some reading lessons first. Than come back to us. Bob - if you would like to commission me to write a piece on VB in around 800 words then please don't hesitate to contact me. |
||||
![]() |
Homey the Clown 06/27/03 09:00:00 AM EDT | |||
Bob, you still got a mullet? Is that workin' for ya?! |
||||
![]() |
VBDude 06/27/03 08:42:00 AM EDT | |||
VB is not evil, Bob, it's just misunderstood. Anyhoo, I am a VB guru. I rock, dude! |
||||
![]() |
Bob Hendry 06/26/03 10:30:00 AM EDT | |||
Captain Caveman. More detailed technical limitations to VB? I only had 800 words to work with! Bob... |
||||
![]() |
Charles 07/11/03 09:19:00 AM EDT | |||
As a programmer with a unix & C background, I would say it's horses for courses. If you want to spend years writing an operating system, do it in C. It is possible to write robust and efficient code in VB, you just have to be better at it than your average spotty sixteen year old school leaver. And whichever way you look at it, it is better than PB. |
||||
![]() |
Captain Caveman 06/26/03 07:13:00 AM EDT | |||
I agree with the title of your article. I have recently been introduced to VB after years of Java/C++. However, you do not set out an adequate case against VB. You have two arguments - concurancy problems, and adjusting the application to database changes. These are issues with any multi-user application using a database. As the editor of the site I would expect you to provide the detailed technical limitations to VB. I would enjoy this immensly as I am currently using VB and I need to vent a great deal of frustration. |
||||
![]() |
Ernesto Cardenas 06/12/03 08:55:00 AM EDT | |||
Yeah, there are a lot of guys that know VB and call themselves programmers. But PB wasn't better, because the DataWindow was so tied to the DB. You allway fall in the temptation of use it. It worked, yes. But this applications we're monolithic, very difficult to implement in a multi-tier architecture. No 3 layers no nlayers... no disconnected, no optimistic.... no Web Components. VB regardless of the trap of DataBinding, was more able to develop components, disconnected applications.... Business Logic without interface... etc... Don't blame the tool, blame the teachers.... DataWindow was a tool that needed a lot of changes in order to adjust to n-tier and Internet.... Best Regards |
||||
- Cloud People: A Who's Who of Cloud Computing
- Come on in, the Forums Are Fine…
- Global Mobile Security (mSecurity) Market 2013-2018
- Enterprise Mobility Asia News Weekly – Week of April 7, 2013
- Whither Windows?
- A Look at Appeon Mobile
- Mobile Commerce News Weekly – Week of March 31, 2013
- SMAC News Weekly – Week of March 24, 2013
- Mobility News Weekly – Week of March 24, 2013
- Appeon 2013 - Product Release
- Mobile Commerce News Weekly – Week of May 5, 2013
- Embarcadero Technologies Unveils Multi-Device, True Native App Development Suite
- Cloud People: A Who's Who of Cloud Computing
- The PostOpen Event – Why It Is So Important
- Gradients, Not Glitz: Methods to Modernize PowerBuilder User Experiences
- The PowerBuilder .NET IDE
- Come on in, the Forums Are Fine…
- Kevin Benedict’s What’s New in HTML5 – Week of February 24, 2013
- Global Mobile Security (mSecurity) Market 2013-2018
- Enterprise Mobility Asia News Weekly – Week of April 7, 2013
- Embarcadero Launches FireDAC: Enterprise Data Access for Multiple Devices
- Whither Windows?
- SMAC News Weekly – Week of March 10, 2013
- A Look at Appeon Mobile
- Where Are RIA Technologies Headed in 2008?
- PowerBuilder History - How Did It Evolve?
- DDDW Tips and Tricks
- Cloud People: A Who's Who of Cloud Computing
- Dynamically Creating DataWindow Objects
- OLE - Extending the Capabilities of PowerBuilder
- Working with SOA & Web Services in PowerBuilder
- DataWindow.NET How To: Data Entry Form
- Custom Common Dialogs Using SetWindowsHookEx
- Dynamic SQL
- Sybase ASE 12.5 Performance and Tuning
- Office 2003 Toolbar: A New Look For Your Old PowerBuilder App






















