The adage "the right tool for the right job" is even more important when selecting
a tool set for a software-based product or application. Our broad experience keeps
FutureWare in close contact with the various tool offerings, their strengths and
limitations, the subtle nuances, and the direction in which they're evolving.
Today, all viable tool sets are "visual" in the sense that an Integrated Development Environment of some kind is incorporated. Of course, there are some exceptions, like using C (or even, occasionally, Assembler) for a small hand-held product or information appliance.
We'll admit that we prefer to use Delphi for most projects, not only for its extraordinarily large scope, but even more importantly because, simply, things can be done faster, not to mention at less cost, than the alternatives.
|
Software Development Tools Relative Assessment Matrix |
|||||
|
Category |
VC++ |
Delphi |
Java |
VFoxPro |
VBasic |
|
Business Object Sharing |
Difficult |
Easy |
Unknown |
Moderate |
Difficult |
|
Business Rules Isolation |
Difficult |
Easy |
Unknown |
Moderate |
Difficult |
|
Complexity |
High |
Medium |
High |
Medium |
Low |
|
Database Integration |
Difficult |
Easy |
Limited, requires proprietary interfaces |
Easy |
Easy |
|
Development Time |
High |
Low to moderate |
High |
Moderate |
Low |
|
Framework Integration |
Very difficult |
Easy |
No |
Easy |
Difficult |
|
Front-End GUI |
Very difficult |
Easy |
Moderate |
Easy |
Easy |
|
Maintainability |
Very difficult |
Easy |
Unknown |
Easy |
Varies |
|
Maturity |
Late 1970s |
Mid 1990s, based on Pascal from 1970s |
Mid 1990s, based on tokenized execution and virtual machine architecture from mid 1960's |
Mid 1980s |
Late 1980s, based on earlier BASIC from late 1960s |
|
n-tier Migration |
Very difficult |
Easy |
Unknown |
Moderate |
Difficult |
|
Object Technology/OOP |
Yes, true OOP |
Yes, true OOP |
Yes, similar to C++ |
Yes, true OOP |
No, object based, no inheritance or delegation |
|
Published Standards |
Yes |
Yes |
Proprietary; all derived IP claimed by Sun |
Yes |
Yes |
|
Required Skill Level |
High |
Low to moderate |
High |
Low to moderate |
Low |
|
Resource Requirements |
Small |
Low to moderate |
Low |
Moderate to high |
Moderate to high |
|
Speed |
High, single optimized executable |
High, single optimized executable |
Slow; interpreted pCode |
Medium to high |
Slow to medium |
|
Team Development |
Varies |
Yes |
Varies |
Yes |
Yes |
|
Third-Party Components |
Very few |
Largest number of components and suppliers |
Very few |
Some |
Many |
|
Typical Uses |
Low-level drivers; access methods; system services |
GUI; database; tools and utilities; CGI; SSI; distributed processing; n-tier |
Web applets; specialized embedded info appliances; distributed processing. Similar to LonWorks |
GUI; database; tools and utilities |
General Corporate in-house development |
|
Web Integration |
CGI; SSI; native execution; plug-ins |
CGI; SSI; VCL; COM; CORBA; MIDAS; ActiveX; plug-ins; native execution |
SSI; in-line scripts |
Indirect |
CGI; SSI; COM; CORBA; ActiveX; scripts |
The chart below details the time it took (normalized to Delphi=1.0) to develop a client/server application with the following requirements:
|
Client/Server App Development Time Normalized To Delphi=1.0 |
|||||
|
VC++ |
Delphi |
Java (1.1) |
VFoxPro |
VBasic |
|
|
6.3 |
1.0 |
>7 Java unable to meet all requirements |
2.2 |
3.7 |
|
|
Client/Server Conversion To Intranet Time Normalized To Delphi=1.0 |
|||||
|
Category |
VC++ |
Delphi |
Java (1.1) |
VFoxPro |
VBasic |
|
Normalized Conversion time |
>5 |
1.0 |
>5 |
2.5 |
3.3 |
|
Code Re-Use |
0% |
100% |
0% |
88% |
55% |