Tag Archives: object

Delphi Is 25 Years Old

I was with him from the beginning. I have been working with Borland Pascal since it was released after 7.0 as Delphi 1.0. Our highlights: Delphi 1.0, Delphi 5.0, 6.0, 7.0, Delphi 2007, Delphi XE4, XE7, Delphi 10.1 Tokyo, 10.2 Rio. The numbering scheme has changed several times, as has the owner, first Borland Delphi, then Codegear Delphi, and now Embarcadero. But the most important features have remained: the fastest translator, an easy-to-learn language that is constantly evolving, adding new language elements, and a great, intelligent, easy-to-use IDE. An excellent code editor with a screen designer. The designer and VCL were a very important step forward after Borland’s Pascal Object Windows Library.

Pascal was the first serious programming language I learned, and it remains my favorite programming language to this day. Native string type, which makes text handling easy, overflow checks protect against the security risks that so many C-C++ programs still struggle with today, lots of error possibilities, which cause a lot of headaches for users. Delphi’s rich set of types and components makes it suitable for all kinds of development. The “class” type facilitates object-oriented programming, which is much more convenient and faster than with the old “object” type. VCL components are easy to use, their logical field and method sets, field and method names all help to make programming as simple as possible. An active user community contributes to the expansion of the component set, often with free and open source solutions.

For me, Delphi 2007 was the best release, I love it and I still develop with it to this day. Delphi 6 was also a very successful version, I worked with it at my office for almost a decade. However, I think there are a lot of organizations, including the one where I worked, who got stuck in Delphi 6 development, did not move on to more modern versions in time, and now it is impossible for them to switch. It’s kind of like COBOL, there’s still a huge amount of COBOL code in the world, simply because they can’t rewrite the codebase.

Codegear Delphi 2007

From the XE series, I liked the XE7 the most. It was a very good step to launch the Starter Edition and then make it free, which gave students, those familiar with programming, and small businesses an excellent development tool. I have a 10.1 Starter Edition, it has the nice feature that it remains free and does not expire like the Community Edition that replaces Starter. This edition is also a good tool for the little ones, but the introduction of the time limit is a step back from the Starter Edition.

And now about the negatives. Each version brought new features, but also bugs, the only version I was completely satisfied with was Codegear Delphi 2007, and so far I haven’t encountered any bugs in this version. Currently, for example, direct variable declaration in function blocks generates an error signal on the IDE interface, but at the same time the code can be compiled flawlessly. And this error now occurs in two versions in a row! Has no one tested this feature at all and the bug has survived two releases? In previous versions, it also happened that the IDE translator and the compiler did not work in sync and did not show the same errors, which is of course quite annoying. And what I really miss is the stack log display and the quick help of Borland times (now even the Delphi help is full of C++ stuff, which nobody cares about, since I work in Delphi!), the help is unbelievably slow for the previous chm version, in comparison, I just pressed F1, and lo and behold, the help text appeared immediately, along with lot of examples! And the biggest problem is the lack of efficient automatic memory management, currently the developer is fighting a ceaseless and hopeless battle with memory leaks and rolling up security bugs. To this day, this is Delphi’s weakest point. Delphi also lacks a source documentation tool similar to JavaDoc, which could be used to generate html and chm help from comments in the source code, in such a way that the IDE can also use this help. That is, we can get quick information about our own codes while writing programs in the same way as about the contents of Delphi units.

But anyway, for me it’s the best programming language and development tool I know, and of course I’m really looking forward to the next release, 10.4, which will probably bring new things in the field of memory management. And, of course, I wish Delphi a similarly successful next 25 years! Together, on!

Nyíregyháza, February 15, 2020 – March 22, 2020

English translation: August 30, 2023