1 Introduction to several database development tools
1.1 VB
Visual Basic is a visual programming tool that uses the basic language as its basic language. I have seen it in China and even the world. It was the most popular programming tool in China, and it still occupies a very important position, everyone has a certain understanding of its quality. VB, as an early development program, is easy to learn and has a high development efficiency, A well-developed help system has influenced several generations of programmers. However, because VB does not have the cross-platform feature, this also determines that VB will gradually exit its historical stage in future software development. Its support for component technologies is based on COM and ActiveX. Today, with the continuous development of component technologies, it also shows its sophistication. At the same time, VB is relatively complex in system underlying development. It needs to be declared to call API functions, which is inconvenient to call and cannot be programmed by DDK, it is impossible to go deep into ring0 programming, not nested assembly, and the object-oriented features are poor. The network and database features are not very specific. In summary, as a visual development tool, VB is gradually replaced by other tools in future software development due to its limitations.
1.2 Pb
Powerbuilder is the first choice for developing MIS systems and cross-platform databases. It is simple to use, easy to learn, easy to master, and has outstanding performance in code execution efficiency. PB is a true 4gl language (the fourth generation language). The return values of SQL statements can be directly embedded into the statement variables. It supports statement-level cursors, stored procedures, and database functions, it is a specification similar to sqlj, with unparalleled flexibility in data access. However, it makes the same mistake as VB in the underlying system development. Calling API functions requires declaration, which is inconvenient to call. It cannot be programmed in DDK, nor can it be programmed in ring0 or nested assembly; in network development, a large number of user objects, services, and system objects are dynamically generated on Web pages. It is very suitable for compiling Server dynamic web applications and is conducive to the encapsulation of business logic; however, the support for network communication is insufficient. The support for Static Page customization is limited, so that Pb cannot be widely used in the network. Object-oriented features are not very good either.
1.3 C ++ Builder/Delphi
They are all visual development tools based on the VCL library, they provide excellent performance in terms of component technology support, database support, underlying system development support, network development support, and object-oriented features, and are easy to learn and use, the WYSIWYG visual development method is fully presented, and the development efficiency is high. Because the two are Borland products, they naturally inherit the company's consistent fine tradition: high code execution efficiency. However, they do not have any disadvantages. The biggest disadvantage of them is that their help systems are relatively poor among many programming tools. C ++ builder's VCL library is Based on Object Pascal (object-oriented Pascal), which makes C ++ builder fall behind other programming tools in program debugging and execution. Delphi is not widely used, and the development system software has two disadvantages.
1.4 visual c ++
It is a visual development tool based on the MFC library. In general, it is a powerful but inconvenient tool. It performs well in both network development and multimedia development, and helps the system to do a very good job (Microsoft often treats details in a friendly way ), however, although C ++ is used as the basic language, it is not good enough in terms of object-oriented features, mainly to be compatible with C programs, and the results fall apart; it is not good in component support, although not only COM and ActiveX are supported, but no ide is supported. It is a function of all c compilers and must be supported by the middleware. The biggest problem is that the development efficiency is not high.
1.5 Java programming tools
Currently, Borland's JBuilder and IBM Visual Age for Java are well known. Both tools have a certain number of users. JBuilder inherits the features of C ++ Builder/Delphi, which is very good in visualization and easy to use. Because of the characteristics of the Java language, they have superior performance in network development, and the object-oriented features are high, and many component technologies are supported, cross-platform features make it more and more important in the development of the present and future. However, the underlying development and multimedia development of the system are not so satisfactory. This may be related to the intention to design Java.
2 Comparison and Analysis of database support by various development tools
2.1 data access objects:
2.1.1vb: Dao, ADO, and rdo functions are similar.
2.1.2pb: transaction, dwcontrol, can be bound to any SQL statements and stored procedures, and data access has unparalleled flexibility.
2.1.3 C ++ Builder/dephi: it has more than 20 components and classes including datasource, table, query, Midas, and ADO for data access.
2.1.4 VC: similar to VB, but many class libraries are available, but they are very inconvenient and inefficient in development.
2.1.5 Java: Java jdbc api. Different ides have different components.
2.2 Data presentation objects:
2.2.1 VB: DBGrid. This is the only data presentation control related to databases. It can only represent simple table data with a single means of presentation.
2.2.2 Pb: datawindow object (the Resource Description Statement of datawindow is a language similar to HTML, where any object can be inserted, there are hundreds of data presentation methods including DBGrid ), this function is destined for Pb. The database function has far exceeded the level of some development tools since its birth.
2.2.3 C ++ Builder/dephi: six Data Warehouse components including DBGrid, dbnavigator, dbedit, and dblookuplistbox, decisioncube and decisionquery, and qrchart, more than 20 reports, including qrexpr, can flexibly express data.
2.2.4 VC: Same Data Access Object.
2.2.5 Java: Different ides have different components. The famous ones include JBuilder, powerj, and visualage for Java.
2.3 statement execution method:
2.3.1 VB: bind an SQL string to a command object, and return the result to the resultset object.
2.3.2 Pb: a true 4gl language that allows you to directly nest SQL statement return values to the statement variables. It supports statement-level cursors, stored procedures, and database functions, is a specification similar to sqlj.
2.3.3 C ++ Builder/dephi: Execute and submit SQL statement strings using database components or classes.
2.3.4 VC: Same Data Access Object.
2.3.5 Java: sqlj, Java jdbc api.
3 Comparison and Analysis of other development tools
3.1 object-oriented features
VB: poor; Pb: Good; C ++ Builder/dephi: Good; VC: General; Java: Very good.
3.2 cross-platform features
VB: cross-platform is not very good, but it can be seamlessly connected with the Windows family.
Pb: generally cross-platform
C ++ Builder/dephi: Windows family, Linux. VC: none; Java: all operating systems that can run Java virtual machines.
3.3 Component Technical Support
VB: COM, ActiveX.
Pb: COM, JavaBean, Jaguar, and userobject: CORBA + acti Vex.
C ++ Builder/dephi: COM, ActiveX CORBA (which comes with the VisiBroker of the CORBA middleware and has rich wizard ).
VC: COM, ActiveX, and CORBA (without any IDE support, it is a function of all c compilers and must be supported by CORBA middleware ).
Java: JavaBean, CORBA; ActiveX.
3.4 network or web development support
VB: Asp, VBScript, simple IDE for compiling DHTML, convenient for compiling static pages, and general support for network communication.
Pb: dynasrept, Web. PB. It provides a large number of dynamic web page user objects, services, and system objects. It is very suitable for writing server-side dynamic web applications and is conducive to the encapsulation of business logic; insufficient support for network communication; limited support for Static Page customization.
C ++ Builder/dephi: ISAPI, wininet API, and other network or Internet APIs can be freely and conveniently called. More than 30 components and classes including serversocket and clientsocket are provided, it is used to process network communication control, stream processing, mail, email, FTP, HTTP, and other application protocols and to generate dynamic page and business logic encapsulation. It is powerful and easy to use.
VC: SAPI, wininet API, and other network or Internet APIs can be freely and conveniently called. casyncsocket and many other classes are provided. The functions are powerful but not easy to use.
Java: APIs cannot be called directly, but many built-in network and Internet functions are provided. servlet APIs, Java Bean APIs, JSP, and other powerful web applications can be used for collaborative development. Powerful functions, it is not convenient for some ides.
4. Comprehensive Evaluation:
4.1 VB: it is the first choice for newcomers to develop comprehensive applications unrelated to the system. Easy to use and strong vendor financial resources are its only two advantages. VB is highly efficient in development and code execution, but quick in getting started and learning, providing a good learning atmosphere and helping books and help documents. However, with the promotion of Microsoft's. NET technology, VB will gradually launch the stage of history.
4.2 Pb: it is the first choice for developing large MIS and cross-platform applications of various databases. In terms of Database Front-end tools, it is far more than dedicated tools such as Oracle's develop series; from the perspective of general languages, functions are comparable to those of VB, and multimedia and network functions are weaker than those of other tools. The biggest advantage of Pb is the maturity and convenience of datawindow technology. It becomes the capital of Pb to compete with other database development tools. At the same time, PB's development in Java, web, and object-oriented aspects can also predict that Pb will continue to become the first choice for database systems (especially MIS Systems) development tools. At the same time, the powerful help documentation of Pb also provides beginners with an entry-level Foundation. The freedom and aspect of Pb-level database connection also provides convenience for Pb, at the same time, petabytes of API calls and powerful processing of reports. However, the lack of Pb advanced programming books and the popularity of the basic language powerscript have certain limitations on Pb's tomorrow.
4.3 C ++ Builder/dephi: it is the only efficient development environment suitable for developing database applications, network and web applications, distributed applications, reusable components, system software, drivers, multimedia, games, and other software; VCL Source Code Based on Object Pascal is the only defect of C ++ builder. The basic language is not general enough and the development system software function is insufficient, which is the only two shortcomings of dephi.
4.4 VC: in terms of functions, everything except cross-platform applications can be developed. In terms of development efficiency, it is limited to developing Windows system applications, reusable components and drivers. With the support of Microsoft, its basic language is widely used and its code execution efficiency is high. VC comes with powerful help documents and a large number of high-quality teaching materials, in the database development tool, VC can always stabilize the array.
4.5 Java: applicable to all applications except system software, drivers, high-performance real-time systems, and large-scale image processing. In general management information systems and general database development, few people choose java. First, the development environment is difficult to configure and is responsible for connecting to the database.