But Delphi is not only a language. It is a platform. It allows you to write vanilla Win32 apps (with message loops, window procedures, and the like), but offers a superb class library which was the first modern OOP and component-based RAD. Now you can recompile the code based on this class library, the VCL, also for .Net, turning your application into a native and managed .Net assembly. But on .Net you are free to use the WinForms classes, beside all of the classes of the core class library, and ADO.NET, as well as (of course) ASP.NET. In other words, Delphi doens't lock you into a single solution but leaves you have with a lot of choices. This is very nice, although for each project yuo should make the effort to figure out which approach to use.

With some tweaks you could also move your code from the VCL to CLX, and have your RAD program running natively on Linux. And if CLX does have problems, the development of server side applications with Delphi/Kylix running on Windows and Linux, IIS and Apache, is really smooth. This web site is an actual example of the technology. Hopefully the Kylix compiler will be kept up to date with the language, even if Borland is not willing to put money into the Kylix IDE or class library.

[For the servers on the computer hosting this blog (and more) I write code in Delphi 2005 on a shared linux file system, and after recompiling on Windows, I do a command-line build on my Linux box from the shell running on my PC, than I deploy to another Linux box via SCP, SSH-based file copy].

Delphi is also a very powerfull IDE. Even if the last version had a few quircks, it is because it was heavily rewritten to provide really many new goodies, from refactorings to integrated UML viewing, from better version control integration to multiple form designers (for VCL, VCL.NET, WinForms, ASP.NET, plus a general HTML editor), and the MDA architecture offered by ECO. Hopefully the new version (codenamed DeXter) will bring more features along with more stability).

Delphi is also a community. There are many valuable third party components adding a lot of value and power to the product (reports, extended grids, improved data entry...), but also many community-driven open source initiatives. It is hard to list them all, but JEDI (JCL, JVCL, APIs...), Indy, FastCode, InstantObjects are only few of the countless projects, some most Delphi developers have probably heard about (if not, do check their web sites, they should be rather easy to "google").

The community, of course, is not mostly made of products and projects, but of people. Here I'd refrain from listing all the key players in the Delphi community as I'll certainly forget too many. There are indeed many developers, writers, teachers, team leaders, programmers, hobbiests, students (even dentists) willing to spend some of their time helping other fellow developers. There are few newsgroups around as responsive as the Delphi ones (simply have a look to other Borland newsgroups, or to MS ones, or to Java ones to see the difference). Not that you don't get technical replies on other forums, but you don't see the same involvement. Maybe a reason is that the Delphi community is smaller, you get to know many of the posters. They become friends (or foes, in some cases!). Yes, the Delphi community is very vocal, asking Borland a number of impossible things, but it is because these people like Delphi so much, not because of the opposite! Something very similar happens int he "Delphi e Dintorni" Italian community I help moderating (and host on an NNTP server built with Delphi by some friends).

I'm really happy to be part of this community and to enjoy using Delphi more than tens years after I started (btw, use the "Happy Birthday Delphi" link on this site to see how I started using Delphi and some of the material I collected from that time). Delphi is not the only technology I use these days. XML and XML-related languages come very close, although I generally use them from Delphi-compiled code. This has to do with Delphi weaknesses on the Web development area, something I'll get back to in another post.

I know there are other reasons for using Delphi, I feel these are the most relevant ones (ignoring some of the obvious and any company backing/bashing). In any case you'll certainly see many more posts on Delphi in this blog.

And, by the way, sorry if my English is not always good as it should, but it is not my mother language and I don't live in an English speaking country either. My books get the extra help of an editor, but for my blog you'll have to bear with my English.