I wanted to keep track of my Delphi upgrades over the years. Hope people will learn from this. I tried also to keep track of the Delphi jobs in Germany over the years. They seem to be decreasing.
Trying to upgrade to Delphi 2010
Unless support for Unicode is badly needed, staying with Delphi 7 is a must. Personally, I have never upgraded to it.
GIF issues:
Note that Gif (by Melander) and Png (by Martijn Saly?) images are now incorporated in Delphi 2010. You will have to use a conditional in order to use the right GIF unit:
USES Windows, SysUtils, Graphics, blabla
{$IFDEF VER150}
, GIFImage, {Delphi 7}
{$ELSE}
GIFImg {Delphi 2010}
{$ENDIF};
Also, you need to “fix” the PNG provided by Embarcadero:
https://talkdelphi.blogspot.com/2009_03_01_archive.html
Other things that you need to know is that you really have to back up your project before opening it in Delphi 2010. Delphi 2010 will change your DFM file even if you don’t press the Save button. The form will lose data, and it will not compile in D7.
Upgrade to Delphi XE
I have finally purchased Delphi XE. Delphi XE proposes some new features but, unfortunately, quite few of them are not working at all (background compilation, UML modeling, code insight, etc). Other features have been downgraded (the help and, for example).
The IDE is also not as stable and fast as Delphi 7 and the toolbar has real problems (better don’t customize the IDE). There is also a nasty bug where the IDE has 100% CPU utilization (see my other posts about all these issues).
I hope that in Update 2 and 3 they will fix some of the most stringent issues.
Anyway, I think I upgraded too soon because now Embarcadero announced the 64 bit compiler, so probably I will have to pay again a lot of money to upgrade to the next version of Delphi in order to get that compiler. For those that are still thinking to upgrade to Delphi XE I would recommend to trial Delphi XE HEAVILY.
Conclusion:
- Delphi XE brings LOTS of new features, but obviously you won’t be using ALL of them.
- The stability of the IDE is not better.
- It helps you build more up-to-date applications (modern UI open/save dialog, application manifest).
- Support for Unicode.
Too bad you have to pay money for the cross platform packā¦
Upgrade to Delphi XE7
The difference between XE and XE7 was not that huge, as the upgrade from Delphi 7 to XE. The IDE is as stable as before (lots of crashes and random access violations in RTL).
The new and shiny I/O library is still not ready.
Upgrade to Delphi Rio
Considering the amount of years since the last update, I could safely say that the difference between XE7 and Rio is barely visible – except for those that are interested in cross-platform apps (Mac, Android but not Linux!). For me, the (proper) cross-platform support came too late.
PROS
- True high DPI support (Really Embarcadero? After so many years?).
- IDE does not crash so often as it used to crash in XE7.
- VCL themes finally (seem to) work.
- Most stable IDE until now (still crashes if you open a project group with more than one project in it).
- Almost full cross-platform support (you need to purchase the more expensive Architect version to get Linux). Fortunately, for me, this is a bit too late. The projects where I needed cross-platform were already started under Lazarus.
- Upgrading the code was super easy.
CONS
- Some HIGHLY advertised features like dark themes don’t work at all!
- The Insight still buggy: new language features (like declaring inline variables) not supported by the IDE (the code will have that wiggled underscore red lines). This issue will probably never be fixed.
- Another super annoying IDE issue is that the compiler will still show the last hints/warnings/errors EVEN after you fixed them. Looks like the log data remains in some kind of cache.
Overall it is the most stable IDE until now, but still I wonder (especially if compared to Lazarus) if it is worth that pile of money.
Upgrade to Delphi Sydney
Sydney is quite stable. Generics are better. GetIt is almost usable. Great support for iterators. Love the new VAR that can be declared anywhere in the body of a procedure and the type inference.
If you still own an old Delphi version, I strongly recommend you to upgrade to Sydney. Probably the best version after Delphi 7.
Unfortunately, only 52 positions are listed for the whole Germany.
Upgrade to Delphi Alexandria
Everything went south to Alexandria. The IDE crashes when I try to install libraries. Many other weird issues in the IDE. The Community was in no hurry to update the plugins and libraries to Alexandria.
I happily downgraded back to Sydney.
Conclusion over the years:
Delphi is such a nice and clean language. And the Delphi compiler speed makes any C++ compiler to look like a toy for kids.
I still feel shame when people look down on me when I say that I am a Delphi developer. Delphi as a language is extinct now. Just look for Delphi jobs in Germany and only 74 positions are listed (but most of them are mixed with C# and others). C++ has over 1500 positions! They do offer a free (even though crippled) version of Delphi now, but the damage was done. It is too late to resurrect Delphi now.
I think three main issues lead to this state:
- Borland abandoned Delphi (Delphi lagged behind compared with other languages).
- Embarcadero took over but disrespected the customers (over-buggy, over-expensive product).
- MAIN ISSUE: The language was not promoted (at all) over the years. No sane company will spend thousands of dollars for a license of an already dying language. And the lack of a free license TOTALLY outcast the new generations of programmers.
Therefore, we are on StackOverflow, wondering each year if worth investing money in a new Delphi license.
Update
Finally, Emba released a free (aka Community) edition and boy you can see the effects.
For the first time in years, I don’t feel ashamed to say in public that I use a dying language. Still, Delphi still needs more advertising. All the young generation think that Delphi is an uncool mastodon.