Noticed in my news feeds that Delphi Xe8 was released today.
Unfortunately, I don’t see a single mention of any new language features. I think this is a shame. As a software engineer, I spend most of my time writing code, and there consistently seems to be very little attention paid to the core Object Pascal language, which, in my opinion, desperately needs to be pulled out of the dark ages.
The feature lists tout all these new “productivity enhancements”, but what I really don’t understand is why there are no enhancements to the language itself. It seems logical that, since coding is ultimately where I spend all my time.. that the best thing to “enhance” would be that which I spend my time in. I will, at some point, check out Delphi Xe8. But as far as I can tell, this product line still has a long way to go before it is caught up to the competition. I guess that’s what happens when a tool is virtually ignored for 10 years… but at least it isn’t totally being ignored anymore. Maybe things will be looking up.
There’s very little new in Rad Studio XE8. The “feature” list basically lists most of the things that they’ve been listing since XE2 and 3.
I installed Xe8, and not surprisingly, it took me all of 3 minutes to find crippling bugs. All I had to do was create a new “master/detail” multi-device project, then switch the view to Microsoft Surface. The Delphi Form designer hasn’t worked for large forms since Delphi 7 and the latent bugs are super prominent when you start looking at large form views. The Mircrosoft surface has a 1,440-line resolution, larger than my 1080p screen, and the form designer fall apart completely when trying to work with that view. The scroll bars that line the edges of the screen have not worked since the designer was first switched to a Visual-Studio-style single-document style view (post Delphi 7). When I enable the Microsoft Surface theme, the screen gets all corrupt and my i7 computer becomes sluggish and unusable. There’s no zoom feature, even on FMX forms. This interface is basically unusable.
Other new things include “Castalia”…. which isn’t really “new” per-se, but was a 3rd party add-on until now. I’m not sure if it was acquired, or whether they struck a bundle deal, but regardless, Castalia has been around for 10 years or so. I used to use it back in the day. Castalia offers a couple of half-assed, half-welcome features. It supports half-broken block-flow highlighting, which draws colored lines to help you match up BEGIN and END blocks, but it doesn’t really like it when you put your “begin” at the end of the line instead of at the beginning of the next line like many people do (who wants to scroll up and down more often?). It offers an option to “split” the markings if the begin/end doesn’t line up, but I have to ask why they couldn’t just mark the beginning of the line with the “begin” like any sane person would prefer.
It also puts little glyphs in your code to prominently mark things that are sometimes easy to miss, like “continue”, “break”, and “exit” statements. Maybe that’ll save you 5 minutes of debugging time some day.
The most useful thing that Castalia does is it keeps track of which Class you’re working on and, if applicable, which method. This is useful because if you’ve scrolled off the screen and can no longer see the class/function header, Castalia is tracking it for you. This is similar to what Visual Studio has done out-of-the-box for many years now, however, unlike with Visual Studio, it seems broken as a navigation tool when jumping between functions/classes.
I also tried out the latest “PA Server” and found it to have all the same bugs I’ve been accustomed to. The “deploy” options still require me to manually re-add the executable or suffer strange “access denied” errors (because they don’t like it that I build to the “.\” folder instead of their “$platform\$config” folder. PAServer is also painfully, painfully slow, particularly during debug console writes and symbol lookups.
Other sore spots: The 64-bit compiler is still as-of-yet completely unoptimized. The “class view” hasn’t been updated to support new language features since maybe 2005, and I noticed they closed out my MySQL connectivity bugs as “cannot reproduce” (they clearly didn’t even try). Rad Studio’s database connectivity options, which used to be industry-leading, have now fallen behind so far that most of your free tools on the market have better connectivity options, broader database support, and fewer headaches than Delphi/C++ Builder.
The only consolation prize is that, after 2-years of complaints, you can finally write FMX apps that draw properly on multi-monitor Windows/OSX systems featuring multiple-monitors without demanding that your customers always place their extra monitors to the RIGHT of the primary monitor… a bug that should have been hot-fixed on day-1… too little too late IMO.
Save your money until they offer you something solid.