It seems like a new version is looming :)
It seems like a new version is looming :)
From the blog post by Tim Del Chiaro
Incredible Windows 10 Support
Delphi and C++Builder developers will be able to rapidly update their VCL and FMX applications to take full advantage of the Windows 10 wave.
Double the IDE Project Power
The product and build management system has been re-architected which effectively doubles the project size capacity resulting in higher stability and performance when dealing with large projects, particularly multi-platform projects.
Quality, Stability, and Documentation
Major changes and improvements have been made to the development, testing, and documentation.
RAD C++ for Windows 10
Introducing the world's first CLANG based C++ compiler for Windows and mobile with RAD PME extensions for rapid Windows and Cross-Platform development, tight integration with VCL for Windows and FMX cross-platform frameworks, C++11 language support and backward compatibility.
and much more!
http://delphi-insider.blogspot.no/2015/08/see-whats-coming-in-rad-studio-delphi.html
From the blog post by Tim Del Chiaro
Incredible Windows 10 Support
Delphi and C++Builder developers will be able to rapidly update their VCL and FMX applications to take full advantage of the Windows 10 wave.
Double the IDE Project Power
The product and build management system has been re-architected which effectively doubles the project size capacity resulting in higher stability and performance when dealing with large projects, particularly multi-platform projects.
Quality, Stability, and Documentation
Major changes and improvements have been made to the development, testing, and documentation.
RAD C++ for Windows 10
Introducing the world's first CLANG based C++ compiler for Windows and mobile with RAD PME extensions for rapid Windows and Cross-Platform development, tight integration with VCL for Windows and FMX cross-platform frameworks, C++11 language support and backward compatibility.
and much more!
http://delphi-insider.blogspot.no/2015/08/see-whats-coming-in-rad-studio-delphi.html
Linux...?
ReplyDeleteI hope to Windows 10 support <> Raise components
CLANG for both 32&64bit. But I hope the Delphi compiler remains untouched by this lame LLVM forever!
ReplyDeleteRalf Stocker
ReplyDeleteWhy, what's do lame about LLVM?
Ralf Stocker I actually hope the opposite - I want super codegen, which I think LLVM will give. I'd like to see Delphi competitive against C# or even C++ in terms of performance.
ReplyDeleteWhat I hope will happen is that the "new" LLVM-based compiler (with reference counting etc) will be released for Windows, and the old legacy compiler will remain. There's no way they'll get rid of it - too many people rely on it - but those starting new projects or wanting better performance etc can target the new compiler. I hope. (And I very much doubt this will be in this version - it's a hope for the future.) Tagging Marco Cantù just so you see this ;)
Ralf Stocker Can I ask you why? There would certainly be drawbacks (I could name a few), but also some advantage, like the codegen.
ReplyDeleteI like the rapid F9 programming. I doubt this is possible with Delphi LLVM.
ReplyDeleteDavid Millington Marco Cantù I would appreciate having improved codegen, I would appreciate having ARC on Windows, and seeing new compiler features implemented.
ReplyDeleteHowever, I am seriously worried about future of 8-bit strings in that case. Not having them would be showstopper in my case.
And I am afraid that providing old, "legacy" compiler to cater for such cases is not good enough because I want both new and old features in single compiler.
Of course, I am aware that LLVM compiling speed is not exactly stellar but as far as I am concerned I could live with that drawback.
Marco Cantù BTW, if that is not top secret that will be revealed at webinar, what is the status of per-monitor DPI support for Windows https://quality.embarcadero.com/browse/RSP-9679
ReplyDeleteReally hoping that a non-ARC compiler is always available on desktop platforms
ReplyDeleteRalf Stocker Rapid F9 could be possible if there is a continuous build/link happening in the background.
ReplyDeleteDavid Heffernan I can fully understand your position. ARC could be a real performance killer for some applications.
ReplyDeleteWhich brings me to the point where I have to say, no matter how much I do like ARC as concept, that introducing it was huge mistake.
You cannot have single code base (well, you can but such code base is nothing more than huge mess) when you have different memory management for different platforms. Not to mention other differences.
I think EMBT has painted themselves into a corner. They will either have to maintain different compilers - messy business for both them and Delphi devs, or they have to leave some of their customers out in the cold.
We all lose big time either way.
New compiler with ARC support and class attribute option to NOARC ?
ReplyDeleteMarco Cantù LLVM main drawback is sluggishness, ideally LLVM could be offsetted by transparent background compilation.
ReplyDeleteFor instance Java compilers are quite terrible, but thanks to widespread background compilation in IDEs, that is only rarely an issue.
Otherwise Delphi compile times could be demoted to C++-compiler class, without being able to match modern C++ in terms of runtime performance (you would also need templates for that rather than generics, as generics mean interfaces, and interfaces do not offer static optimization opportunities).
Years ago, slow C++ compilation is one of the reasons I started using Delphi whenever possible.
ARC on desktop \o/ <3
ReplyDeleteEric Grange No templates please :(
ReplyDeleteHorácio Filho all generics can do, template can also, but the reverse is not true.
ReplyDeleteSee https://msdn.microsoft.com/en-us/library/c6cyy67b.aspx and https://visualstudiomagazine.com/articles/2012/12/20/c-plus-plus-templates.aspx
The downside of templates in C++ is lack of constraints (source of errors), but Delphi has a syntax for constraints, and LLVM Delphi would still be statically compiled, so would not benefit from the runtime advantages .Net generics have.
Eric Grange Delphi's constraint syntax is designed for generics, and modelled on the .net syntax. All this was specced when the Delphi .net compiler was the big thing. That's why it's all so similar to .net generics.
ReplyDeleteBut Delphi's constraints syntax is woefully lacking. Indeed in C++ land they've tried to improve with traits and that keeps getting pushed back because they can't agree on a spec.
The area that I feel is most lacking is the inability to constrain types to support operators. I dream of being able to use a library like Eigen in Delphi code.
David Heffernan I suspect supporting operators would require a step well into the realm of templates, as they cannot be statically type-checked before specialization.
ReplyDeleteAn operator basically acts as a function returning any type, so you would need different constraints for a "+" operator returning a string, a float, a matrix, a whatever, and that for all operators. This would make declaring the generic a lot more complex, or the declaration a lot more fragile (and not very generic).
For instance what would be the generic declaration constraint for an "Add" function that would basically wrap a "+" operator?
It would have to be capable of handling: concatenating strings, adding an int and a float and returning a float, adding a float and an int and returning an float, adding two ints and returning an int, adding a string and an int and returning a string, etc.
The type of the result of an operator expression is very dependent on the specialized types, and not at all generic.
Templates can handle that easily, but generics? hmmm...
Eric Grange Agreed. Templates, or a moral equivalent are needed I believe.
ReplyDelete(Class)-operators need ARC.
ReplyDeleteRalf Stocker Not on records, which is where they are most useful anyway.
ReplyDeleteRalf Stocker Just get a really fast machine. :)
ReplyDeletePhillip Woon
ReplyDeletePlease no lets not get into that horrible black box programming with lots of O(n2) or O(exp(n)) algorithms.
Delphi already had the seven ate nine. No XE mentioned anywhere in that post. Makes me wonder...
ReplyDeleteWhat RAD Studio is going to be called? I think XE9 but was not able to find any mention to this name :(
ReplyDeleteHorácio Filho Well it's not released yet. And since there is no open tech preview program at EMBT it doesn't make sense to put the name on the website.
ReplyDeleteAnd unfortunately the wiki trick doesn't work right now ...
ReplyDeleteI would guess it's XE9. Or maybe XE10? Windows skipped 9, so maybe?.
ReplyDeleteIt's pretty obvious that it's going to be something other than XE....
ReplyDelete