Rad Studio 12.1 Released

https://docwiki.embarcadero.com/RADStudio/Athens/en/12_Athens_-_Release_1

3 Likes

Looks like quite a good update with a number of useful improvements.

One disappointment was that a bug introduced with 12.0 that I reported a few months ago still hasn’t been fixed.

Near the end of the Q&A session, Ian Barker suggested that we can email him directly with any issues that are really bothering us and he can advocate for them to be addressed, so I’m planning to do that. Before I do though, it would be good to collect a few more votes for the issue.

The problem that I’ve found is that the Synchronize Method (Control-Alt-Shift-P) feature is now completely broken - it’s now quite irritating having to manually update method signatures when it used to be quite reliable with 11.3 and prior versions:

Although the old Quality Portal is now “Read Only” it looks like you can still vote for issues there:
https://quality.embarcadero.com/browse/RSP-43975

If it wasn’t for this particular bug, I’d be calling 12.0 (and hopefully 12.1 when I get it installed and tested) the best version yet…

As an aside, it looks like the new Quality Portal isn’t allowing you to see reports made by others - unless it’s just a case of no one has actually reported anything through it yet:
https://embt.atlassian.net/servicedesk/customer/user/login

Apparently a blog post to announce the new Quality Portal should be coming out today as well.

1 Like

You can see reports made by others, click on Requests - JSM is not a bug tracking system, it’s an ITSM product and the terminology reflects that. Not a fan but it’s better than nothing.

Absolutely, go for it. ian.barker@embarcadero.com

Yes we had to go this route based on some decisions by Atlassian. We’re doing a few things in the background to help make it work a bit better like adding everyone to a virtual ‘company’ so you can see reported issues. By default the interface doesn’t allow that.

That’s being written by me and since it’s nearly 09:30 at night and I need to eat/sleep/be a human - and I’ve not written the post yet it will be some time tomorrow (Friday, US time), Sorry about that - it’s been a really long day. :frowning_face:

1 Like

As a MS avoider I hate to say it but MS has been kicking b#tt the last 4 years. Visual Studio Code has shown that an IDE is amazing when its built open and extended by the community. Even legacy languages have been re-imagined inside VS Code. I suggested years ago it was time for the Delphi IDE to become cross platform or die and VS Code showed how amazing things can be when something like this occurs.

Every release of Delphi lately feels like the team has been shrunk to bare bones and focus isn’t on the things that matter that third parties and the community can’t do like language modernisation, toolchains /LSP that work and up-to-date libraries for key things like internet sockets with TLS1.3 for HTTP/SMTP etc across Windows and especially Linux as well as Linux compiler optimisations.

For those of us still doing corporate stuff with Delphi, having a platform that can deliver commercial quality SaaS on Linux is critical and its getting really embarrassing how far behind core libraries are.

Its one thing to support existing customers with legacy apps, but the problem is these are the ones dying out. Missing all the companies leaving to go to C# or NodeJS is the knife that will kill Delphi’s revenue to a point where it can no longer support the dev team required to keep it alive. From the outside it looks like this really has already happened. Progress seems to be almost non-existent now.

Are you able to see requests by others when you do that? I’m not seeing anything when I click on Requests - no matter what I set the filter settings to…

Done.

No worries - the blog post isn’t critical, so don’t stress about it :slight_smile:

1 Like

Since I’ve not actually used VS Code, I don’t know what we’re missing. Besides becoming cross platform, can you name a few amazing things that it has that would be good to have in the Delphi/RAD Studio IDE?

There are ways to extend the IDE already and that was enhanced with 12.0 but maybe there are things that still can’t be done?

I think that might be a bit overly harsh.

  • There have been some pretty major improvements for C++ Builder with 12.0 and 12.1.
  • They’ve improved the tool chain for creating Android apks with 12.1 which is supposed to significantly speed that up - I’m really looking forward to making use of this.
  • 12.0 had some minor language enhancements such as multi line string constants.
  • LSP seems pretty good for me but maybe others are still having issues with it?

I use VSCode (and Visual Studio) extensively (more than Delphi these days) and there are at least 3 things they do really well that Rad studio doesn’t (there are more but these are the most obvious).

  1. Intellisense just works - no matter what language I am using (mostly c# & typescript).
  2. Code navigation - ctrl+click just works.
  3. Syntax highlighting is so much better. For example, unused variables with typescript/react are shown in a muted colour

e.g

In the above example I hovered the mouse over register. This is a page I just started on and there are a bunch of unused variables - makes it very easy to see what can be removed when I’m done.

Delphi’s LSP is still very poor - even in 12.1 - the problem is that the delphi lsp server is using a compiler designed 30 yrs ago and it wasn’t designed to allow for this usage. It works ok’ish for well formed code that actually compiles, but falls apart with code that is in progress.

Contrast that with the C# Roslyn compiler - which was explicitly designed to make intellisense and code analysis work on unfinished non compiling code

VSCode doesn’t do visual designing (ie forms) - but the coding experience is far superior to Rad Studio.

Visual Studio does forms (winforms) and the designer is ok - but again it’s the coding experience that is leagues ahead. If you add in CodeRush (yes, it’s still around) or Resharper it’s an incredibly productive coding environment.

I have said this many times, but I wish that Embarcadero would focus on the things that only they can do (compiler, debugger, IDE) and leave the rest to third party or open source. So open source the RTL,VCL,FMX etc. Also forget about mobile - it’s a moving target that is impossible to keep up with given the current release cadence.

Just my 0.02c - I agree progress is very slow these days.

That would pretty much be the death knell for me using Delphi. I also do mobile development using Flutter, but I would much rather use Delphi, purely for it’s ease in visual design.

In regards to VSCode, I use it for most of my development work (excluding Delphi) and some embedded development work … although I am considering moving that to VSCode also.

I can understand that - but my personal view is that Delphi is not the best tool for the job - mobile being what it is, you are much better off using the native tools provided by the mobile platform vendors.

Mobile is constantly changing, and third party tools will always struggle to keep up with the changes - the platfoms vendors seem to take joy in moving fast and breaking things (need to get people to buy new hardware somehow) - often the only way embarcadero finds out is when customers report the issues - and the lag between those reports and a resolution can be a product killer for some users.

That said, I don’t do mobile development so of course my view is somewhat selfish - I would rather see the resources used to improve other aspects of the product. FWIW, I did dabble with mobile dev in delphi a while back, but it was so buggy I decided not to waste any further time on it.

1 Like

Take it from someone who’s work is almost entirely mobile development with Delphi: there’s currently absolutely no reason to “forget about it”. It’s challenging for sure, but then other mobile dev tools can present a myriad of challenges themselves.

2 Likes

I’m not saying xcode or andriod studio are any good, in fact they are both steam piles of … (from my limited experience with them) - but at least when there is an issue caused by a platform api change or requirement change, those tools are updated to reflect those changes.

As I said, my view is of course selfish, I want a better language, compiler, ide, debugger, rtl etc - but when the resources are spread so thinly I can’t see that happening - so we end up with poor quality solutions to everything rather than excellent solutions to a more narrow field.

1 Like

Use of mobile will likely just keep growing, so why wouldn’t you want to capture some of that market?

To cling to desktop apps (with their dwindling usage) seems like a road to obscurity.

They aren’t the same market, in the main. Mobile apps are simple apps that you essentially use one at a time for a shorter period. I think it all depends who your target audience is and what your software is used for

1 Like

I would think that the only reason Delphi still exists is because of all those desktop developers still paying their subscriptions.

I’m not saying mobile isn’t relevant, just that embarcadero is not best placed (not a platform owner) to chase this market.

1 Like

Depends what you are programming, I guess.

Still, I imagine someone, somewhere, dreams of being able to code using the Delphi IDE on their phone

1 Like

When I look at the mobile apps I use on my phone, most are there to access a service, the mobile app is not the primary service.

For the software we develop (both desktop and web) there is zero demand from our customers for a mobile app to access them.

A decade ago it was said that tablets would remove the need for laptops :wink:

Recently I took a fresh look at Xcode using SwiftUi and learnt it via a good YouTube series instead of taking my Delphi habits to the platform and I came out thinking wow Xcode and swift have come a long way, this platform now finally makes sense and is actually very efficient at making mobile apps when writing UI via code with instant preview and a model driven architecture that automatically senses state change and refreshes. So much smoother than Delphi and of course with a much more modern and fast UI. When you want to know how to do something like integrate Firebase the examples just drop in and work.

The mistake Delphi made is investing in mobile instead of SaaS/web which is where all the successful businesses that were in Delphi have now headed.

1 Like