It would not be unfair to characterize the last few Delphi releases as All Mobile, All The Time. And as cool as that is for mobile developers, those of us still working in VCL land have sort of felt like we’re getting the short end of the stick. The last time anything significant was added to the core language itself was extended RTTI in Delphi 2010 (plus extended RTTI support for array properties XE2.) So I have to admit, I was excited when my boss sent this Google+ post around to the developers this morning.
It’s from an XE7 preview, and apparently the new focus is Parallel, now that the major Mobile bases are covered. Asynchronous and parallel for loop support at the RTL level (though apparently not at the language level like Oxygene provides) looks interesting… though I have to wonder. Isn’t everyone interested in stuff like that already using OTL anyway? The slide about the System.Threading library looks like someone borrowed a bunch of concepts from .NET (again), but without the language-level async support that makes it so simple to use in C# or Oxygene. (Seriously, read those articles about async in .NET if you haven’t already seen them. Eric Lippert does an excellent job of explaining why language-level support is necessary in order to both do it right and at the same time preserve developers’ sanity. I suppose it could be implemented as a macro in Boo, but that requires an open compiler before you can even start down that path…)
But the thing that really interests me is the last slide from the post, where it mentions improved support for arrays and array initialization, and better Generics support. Could it be that Embarcadero is finally adding proper Generics collapsing and improved constant array initialization, like I’ve been wanting for years? That second one may not seem like much, but it can make a huge difference in maintainability when working with a codebase under active development!
Well, let’s hope so at least…