RAD Studio 2015 Roadmap
Friday, 8 May 2015
Forgive me, in advance, for seeming a bit off the handle... I just looked at what it would cost me to "upgrade" to Xe8 today and was floored by the price that was offered me for what IMO is basically a small handful of tiny bug-fixes.
But specifically regarding this "roadmap". I gotta ask... Am I the only person here who things that this roadmap completely lacks vision, insight, and general ambition? Someone seriously needs to show some leadership over there. Regardless of what your shallow little "marketing surveys" say, the following should be your roadmap...
1. World-class Pascal language features. Finish the damn product you've already sold us! Finish Generics, Interfaces, Inheritable Records, forward declarations (impossible for records), multi-inheritance, macros, and operator overloading.
2. Compilers for every major platform and every major CPU architecture. Seriously, I want to be able to compile this stuff on an 8-bit arduino. I'll explain the "business case" later.
2a. World-class compiler optimizations on-par with C/C++ compilers. Seriously if GNU C is faster and FREE, you should be able to to pull this off for Pascal. If you're too chicken to write a real compiler, then why don't you just compile Delphi to C++ as an intermediate step... then I'll compile the C++ to whatever platform I want.
3. Proactive support for new and emerging platforms and OSes (do NOT repeat the Apple 64-bit transition SNAFU!)
4. Headers for EVERY major API for EVERY platform... supported and maintained by EMBC employees (not the good-old JEDI folk). If the idea of importing all these headers is too intimidating for you, I'd suggest that you simply extend the Pascal compiler so that it can work directly with C/C++ headers. You should seriously have a whole department dedicated to platform integration and be proactive in releasing headers while they're still in beta, for FREE, to early adopters and hardcore developers.
5. VCL/FMX Fundamentals that I shouldn't even have to be mentioning right now:
a. Gesturless, basic Multi-touch (I seriously had to build my own components just to do multi-touch right on the MIcrosoft Surface Pro 3... seriously... dudes).
b. Stylus Input with pressure sensitivity... cross platform and supported on Galaxy Note/Surface and the like.
c. IoT should be a total freebie at this stage, nobody really likes their smartwatch all that much anyway... so how in the hell did your marketing people come up with this IoT support idea as a selling feature? I imagine that checkbooks are not leaping out of wallets to buy Xe8 amiright?
d. Basic controls that work and DRAW CORRECTLY out of the box (seriously guys... FMX TMemo didn't even work when it was initially released and I can't confirm that it does yet because I gave up on Firemonkey due to fundamental quality and lacking features long ago).
e. Audio components and demos, including real-time synthesis, not just playing back of prerecorded samples. If you can't demonstrate how to do a garage-band style piano on IoS, then your product is NOT complete. BTW there are thousands of Synth apps on IoS. Don't you want to be in that market?
f. Maps components should have been available a LONG time ago as well as native demonstrations for how to integrate with system Android activities.
g. Modal Dialog solution for Android (don't give me this "Android doesn't support Modal Dialogs" answer. Sure it does, you just need to build the support yourself.
h. High-DPI support should have been added 10-years ago.
i. Game development examples can serve to, not only, show your customers how to get around the libraries, but also prove internally and externally that your platform is strong, smart, stable, fast, and fundamentally complete. I'll trust your environment more if you have a robust game demo, even a simply 2D game with nice graphics, touch, JOYSTICK, Mouse, stylus options, sound, internet integration, and maybe a simple embedded database. I'm sure you can easily contract a company to build that for you for relatively little money.... hell I'll do it for you.
i. OpenCL/GPU/APU support for scientific applications.
j. Complete database connectivity (tried 64-bit MySQL over DB Express from 64-bit exe lately?... not working as of Xe7 without a 3rd-party component and hasn't worked since Xe2)
More regarding #1. The Delphi language itself is more than a decade behind in terms of features as well, and Xe8 offers ZERO language enhancements. I understand that writing compilers is "hard"... but that's why you probably need more guys in a fellowship (like MS does it) to prove the algorithms and optimizations. As your technology stands currently, the Pascal 64-bit windows/intel compiler doesn't do basic optimizations AT ALL. Generics are still not fully implemented, multiple inheritance is still not possible, Interfaces are still tied to COM in the same way they were around 1997.... and ALL you can think to offer us is what's in this little power-point?! HTTP classes!? Seriously W.T.F.! I would think that you'd have sorted that one out.. I dunno... 18 YEARS AGO! This is UNACCEPTABLE! Listen to your customers! Or better yet... actually DON'T listen to ALL your customers, because 90% of your customers seem to be dupes who don't know what they're talking about... so how about you listen specifically to the customers who DO KNOW what they're talking about?
It is pretty safe to say that the developer community does NOT trust this product line any more and is sick of paying for "bug fixes" that never arrive.
More on #2. Regardless of whether or not you can make a "business case" for supporting new platforms, I shouldn't have to tell anyone that cares about building world-class software tools that there needs to be world class compilers for ALL platforms... even if you cannot provide fancy visual components for all the platforms and form designers and such, you AT LEAST need compilers for all the platforms. This is simply FUNDAMENTAL to earning the respect and trust of the developer community. Right now there are C/C++/C# compilers for just about every possible platform and there's even a team of people working on a new OS written entirely in C#. At my company we do IoS development in C# with Mono/Xamarin/Unity3D and they make it pretty simple and clear how OS-specific integration works. A quality compiler earns the trust of the developers and decision makers... and as one of those guys, I am nervous enough already about the longevity of my Pascal code. I am worried that I have made all these investments in code while painting myself into a corner that I'll never get out of. EMBC missed Apple's required 64-bit deployment window by several months, potentially costing companies thousands or even millions of dollars, yet has the NERVE to demand that customers, vendor locked, pay money to them for support that should have been there to begin with. The 64-bit compiler upgrade should have been offered on a platter of cookies, for free, with a nice apology note attached. As platforms continue to change, if things stay they way they are, RAD Studio will forever be months or even YEARS behind in their support offerings for basic things like compilers. That is why, unless your leadership and business model changes, your tools offerings will never be seen as serious contenders... particularly when there are lots of free tools out there that compile on more platforms... right now Python, Perl, Ruby, and PHP are more portable than Delphi and as a fan of Delphi (since 1995)... I find this extremely sad.
I will shut up now.
Wednesday, 11 March 2015
What about finally supporting the ?: construction of C in Delphi.
Could think of a syntax like
a := if x od to evaluate the part you don't need.
It doesn't require new keywords, thus will not easily break existing code and does not really seem difficult to compile. And it will beautify code so much. It's ugly to need
Sunday, 8 March 2015
Looks good, particularly the large memory support (which really needed to be in XE7) and Windows 10 support and Datasnap improvements.
Remember, it doesn't have to be new to be a feature. I know marketing wants "New" features to put on advertising but existing customers would often be happier with incremental improvements to existing features particularly regarding speed, stability, reliability, etc.
XE7 is a point in case - some nice features there on the marketing brochures BUT when we tried it out for the first time a few days ago it was unusable due severe performance (speed) problems and out of memory errors. We'll see if we can find work-a-rounds but it reinforces that core speed, stability and usability are king above all else.
Friday, 6 March 2015
What about faster linker for C++ Builder?
There is TwineCompile to speed-up compilation times, but still the linking is too long. Another available options link UniLinker does not work fine. It is about time to include a built in TwineCompile, and replace the linker with a much faster linker. UniLinker proves that it is possible. I think that these two tools should be integral part of the RAD Studio.
Tuesday, 3 March 2015
Firemonkey: Indeed some features missing for business applications (i.e. real apps not for toy devices)
A better grid indeed
but also a pick folder control that works on mac os and android, it is amazing we have a pick file and we have to code a pick folder - I have been complaining about that for 3 releases no changes
Tuesday, 3 March 2015
Will Embarcadero support BiDi is FireMonkey for 2015?
It seems that FireMonkey controls lack any property
for supporting BiDi since 2011
Embarcadero says always it’s on the roadmap, is it for 2015, please give us a clear answer for supporting BiDi in FireMonkey
Please login first in order for you to submit comments
> More regarding #1. The Delphi language itself is more than a decade behind in terms of features as well, and Xe8 offers ZERO language enhancements
I was very disappointed as well. In XE7 at least a few tiny things were added. But in XE8 - nothing.