Delphi thinking
Glory Autumn 2002
Delphi is by far the best-known RAD (Rapid application Development) product.
Delphi 3.0 is an epoch-making version in the Delphi series. The mature and stable Delphi 5.0 further consolidates Delphi's leading position as enterprise-level development tools.
Delphi 4.0 is the worst version in my memory. After applying this patch, the program cannot be compiled normally; after applying that patch, the program cannot be compiled normally. Of course, there will be no obvious bugs in Delphi unless your program is large enough and complex enough.
For enterprise software developers, Delphi's MIDAS technology is of epoch-making significance. Its shadow can still be seen in Microsoft .NET today.
Delphi's Active Form is an eye-opening technology. Its advantage is that you can easily package existing Windows projects into Active Forms without any special web knowledge. You only need to add a few lines of code to display them in the browser. Entering IE eliminates client maintenance costs. The expressiveness of this technology is also much richer than asp. But it also has a fatal flaw: it is too bulky and is only suitable for running in high-speed LANs.
Financial software that is widely used in power systems uses this technology. There is no best technology, only the most appropriate technology. Delphi's Active Form technology is perfect for use in this kind of place.
It would be a nightmare to use this technology in a wide area network or a low-speed LAN.
Object Pascal is one of the most elegant languages I love. It is both traditional and modern; it is simple and clear, yet powerful; the code is readable and not as dull as the Visual Basic program. What's more, similar to C++, it also supports multiple programming styles.
Three years ago, if you were developing database-related software, but you didn't want to use a scripting language or a dedicated development tool (such as Oracle's Developer 2000), you wanted to use a development tool driven by a true object-oriented language. , then Delphi is the best choice.
The designers of Delphi realized that most software has to deal with databases, so they added strong support for database-related development functions. This decision is extremely wise. It is this strong support for database development that has led to Delphi's great success.
Delphi's strong support for databases reaches or even exceeds some specialized database development tools. But it is also easy for some laymen to misunderstand that Delphi is just a database development tool.
I still remember that a few years ago, there was a book prominently placed in Xinhua Bookstore in Xinjiekou, Nanjing. It had a very funny name: "Relational Database: Delphi" (I can't remember exactly, but it's pretty much the same).
Borland seems to have paid too much attention to the functional development of the IDE (Intergrated Development Environment). It could have further improved the quality of the Object Pascal language. Some language features that should have appeared in Object Pascal have now entered C#. The reasons are needless to say.
Delphi does not wrap all Windows APIs, such as some COM-related APIs, which is one of the reasons why I gave up Delphi.
The RAD development environment is absolutely indispensable for enterprise-level project software development. RAD has lowered the threshold for software development, and RAD has also "created" a large number of half-hearted programmers. I suspect that misunderstandings and prejudices about RAD tools stem from these half-hearted programmers.
The latest version of Delphi always brings some of the latest technologies. Sometimes these technologies are just a concept for Microsoft, but Borland has turned it into a product. But Delphi's latest technology can sometimes only be regarded as a transitional technology.
Although Delphi 6.0 has greatly improved and supported data access, Web, and xml, in my opinion, Delphi 6.0 is just a transitional version.
Delphi's BDE (Borland Database Engine) data access technology provides complete support for ODBC data sources and attacks ODBC. This technology reaches its peak in Delphi 3.0. Delphi's MIDAS technology provides n-tier data access technology, but it is still built on BDE. Delphi 5.0 provides complete support for ADO and has the intention to abandon BDE. Delphi 6.0's dbExPRess and DataSnap technology is another example of Borland's continuous innovation in data access technology.
However, even when BDE reached its heyday, and even with so many database access technologies today, the status of ODBC is still irreplaceable. Except for direct calls to database-specific APIs (such as Oracle's OO4O), there is no data access technology that can reach or be close to the efficiency of the ODBC API.
Microsoft is the de facto standard on the Windows platform, and the power of legacy code is often beyond anyone's imagination.
VCL (Visual Component Library) controls and ActiveX controls are completely different things. ActiveX controls aim at cross-language binary reuse, while VCL controls aim at component reuse within the Borland development environment. The reuse level can be target files or source code. This is actually more like C++ class reuse, such as MFC. (Microsoft Foundation Classes) class reuse.
Programmers who are used to VCL controls are tired of having to publish and register ActiveX controls separately; people who are used to ActiveX controls find it funny that Delphi compiles everything into a large file.
Delphi's runtime BPL (Borland package library) is actually a special DLL. You can think of them as Borland format DLLs. If you want to reduce the size of your program, if you want to release several programs using the same BPL at the same time, using the runtime BPL can make your wishes come true.
Delphi's convenient support for the automatic version increase function makes Delphi programmers feel strange that Visual C++ needs to manually modify the version number. The difference between RAD and non-RAD can be seen from this.
The Delphi mode has been successfully cloned into C++Builder, but until now, the technology in C++Builder is generally still more or less lagging behind the latest version of technology in Delphi. I hope this situation can be solved as soon as possible. be improved.
Delphi and C++Builder use the same backend, but Borland did not integrate the two languages from the beginning into an integrated development environment such as Studio, so that the same style (and even functionality) IDE support The language of different flavors is used as a promotional selling point, which puzzles me. I suspect this is either a poor decision or a hint that Borland lacks sufficient resources.
For those programmers who are engaged in enterprise software development and are obsessed with C++, C++Builder is undoubtedly their favorite :)
If you are a Delphi programmer, if you are familiar with C#, you will understand that in addition to C# adopting a C/C++ style syntax, and aside from the fact that many people say that C# is a clone of Java, C# has evolved from Delphi. , drawing on a large number of language design ideas.
I believe that when Anders Hejlsberg designed the C# language, he would first instinctively think of Object Pascal instead of Java. Look at C#'s object-oriented implementation of single implementation and multi-interface inheritance; look at the try/catch/finally exception handling structure (I know many people will say that these all come from Java); look at the concept of properties ( I know some people will say that this comes from Visual Basic); look at the override keyword... It can almost be concluded that all of this comes from Object Pascal in the first place.
Needless to say, Delphi must support .NET.
In the field of .NET platform development tools, currently only Delphi can compete with Microsoft Visual Studio .NET.
On the Windows platform, there are always people who don't like Microsoft, but most of these people still want to move to .NET, and Delphi .NET is an ideal substitute.
Delphi .NET is exciting.