|Item||Visual Basic 6||PowerBuilder 7|
|Development environment (drag & drop painters, editor, debugger)||yes||yes and from PB6 on, the debugger is finally nearly as good as VB's.|
|Script language||VBScript seems to have fewer specialized
command to manipulate controls (i.e. comparable to DataWindows).
- includes script-level system error handling (instead of PB's application-level)
|PowerScript is more strongly typed, requiring explicit declaration and conversions.|
|Source Control||Includes SourceSafe Source Control.||Includes integrated ObjectCycle Source Control tool (much improved in PB6).|
|Reporting||Reporting is available in a packaged third party tool called Crystal reports.||Reporting capability is built into DataWindows.|
|Support for latest controls (tabs, trees, listviews)||yes||yes|
|Documentation||Good documentation and help. A number of code samples are also provided.||Mediocre documentation and help. Extensive code samples and sample applications.|
|Bundled database||MS Access (stripped down)
SQL Server Developer's edition (with Enterprise edition).
|Sybase SQL Anywhere|
|Client platforms||Windows||Windows, Sun Unix, HP UX, IBM AIX|
|3 Tier Support||yes||yes|
|DBMS support||ODBC + native drivers for most major DBMS's||ODBC + native drivers for major DBMS's|
|Machine code compilation||yes||yes|
|Performance||Painting and script performance is faster.||Database access is slightly faster.|
|Internet||Can create ActiveX controls and documents for the Internet. Also provides controls for Internet transfer with http and ftp.||Provides various Intermet capabilities ranging from "fat" (Windows Plug-in) to "thin" (Web PB).|
|Object Oriented Support||Encapsulation but no inheritance. An unusual polymorphism mechanism is provided (the "Implements" feature). Overloading and overriding are not supported.||Full encapsulation, inheritance and polymorphism (overriding & overloading).|
|Third Party Tools||VB product has fewer and simpler native controls but many 3rd party add-ons are available. In terms of quality, 3rd party tools are buyer beware (many are not as well tested as VB itself, have poorer documentation and ongoing upgrades are not assured).||Several modeling tools work well with
PowerBuilder (e.g. Rational Rose, How).
Several third parties development tools are available most notably framework extensions to PFC. Since they are largely written in PowerScript, they can be "taken over" should the vendor cease support.
|Components||Specialized to Microsoft vision: COM/DCOM, ActiveX.||Can generate C & C++ proxies, Java proxies, Corba components, COM/DCOM components.|
|General Vision||VB provides smooth support for items within its own vision (COM/DCOM, ActiveX, OLE, 32-bit Windows). However, platforms and standards outside its vision (e.g. Unix, Corba) are not supported. This limits VB as other major vendors pursue alternate visions (e.g. major DBMS vendors).||PowerBuilder tries to remain "open" and support a variety of platforms, DBMS's and standards. With broader coverage, its coverage of specific Microsoft standards (e.g. COM, ActiveX) are functional but not always as slick.|
|Suitability for Smaller Applications||For really quick & dirty apps, VB's Data
Form Designer lets a person create simple one-table maintenance app in as little as 5-10
minutes. This sort of facility means a power-user could learn the basics of VB to create
In general, VB is well suited to creating quick prototypes and rapidly turning them into simple applications.
|Small applications can be built in PowerBuilder but its learning longer curve means that it is not the best tool if only small applications are needed.|
|Suitability for Larger Applications||More explicit tradeoff, in terms of speeding
development time and getting good performance and "nice" interface.
While large applications are possible in VB, you must decide:
- should I use Data Controls and get this app developed quickly (with the idiosyncrasies and lack of control with Data Control) or should I use DAO/RDO (single DB connect, more control) and have to do much more manual coding (moving text to/from control, manually loading listboxes & comboboxes, etc.)
|More suitable for large projects:
- PBLs provide a natural method to break down and organize objects
- Object oriented capabilities combined with frameworks (e.g. PFC) greatly reduce the amount of code that needs to be written and maintained.
|Other Unique Advantages||Users could be expected to learn and use this tool (perhaps this is why VB is avoiding true OO support).||Datawindows give many built-in features (ItemChanged, 4 buffers, "dirty" ind. for whole DW). It makes obtaining and manipulating data easier.|
|Provides a standard language called VB for Applications (VBA) for those who build macros (e.g. in MS Office Suite). In other words, if you're building macros (VBA) and applications (VB), the language is basically the same.||Shipped with a comprehensive set of base classes (PowerBuilder Foundation Classes - PFC) which add much PowerSoft-supported functionality and greatly reduce development time.|
|Translation toolkit provides a powerful way to create application in many languages while maintaining a single "source" language application.|
|Price||$1200 for Enterprise edition, $500 for Professional Edition. Excludes cost of third party tools which are usually needed for more complex applications.||$3000 for Enterprise edition, $1200 for Professional Edition. Price difference could be a factor for occasional development.. For dedicated developer(s), it represents less than 3% of the typical cost for the developer over the first year.|
Selecting a Development Tool
The two tools can be complementary in an organization -- with VB aimed at smaller applications which are purely Windows/Microsoft focused while PB is used for heavy-duty Enterprise development where OO development techniques and frameworks make a big payoff.
Many organizations will decide that one client/server development tool is enough. Where this is the case, consider:
Another factor to consider is market presence. Sybase is weakening and fewer organizations are choosing its tools. By contrast, the Microsoft monolith is stronger than ever (antitrust issues notwithstanding).
Important Developments for Visual Basic 7
Microsoft says that they will finally incorporate object-oriented capabilities into Visual Basic 7 (notably inheritance and real polymorphism). While this is only vapourware until late 2000 or early 2001, it is a good sign for the tool.
In addition, Microsoft says that it plans for Visual Basic 7 to take over many of its web creation capabilities (superceding tools like Visual InterDev and Active Server Pages). This will be a significant development for the tool -- the results will be interesting to see.
On this site, you can also find a more in-depth discussion of: