I hereby humbly offer the following four suggestions to improve the Delphi product and community.

Acquire the Assets of DevJet

Have you guys seen the stuff done by DevJet?  This is some seriously excellent work.  They have two main projects — Documentation Insight and Code Insight Plus — that are both excellent, polished, and incredibly useful.  Code Insight Plus is worth its weight in gold.  Embarcadero should strongly consider including these two projects as part of the RAD Studio product.  Shoot, they should get DevJet to write a bunch of features for the IDE.

Now maybe DevJet doesn’t want to be acquired, I don’t know, so it’s just an idea.  But definitely worth considering.

Open Source Their Unit Tests

I’ve suggested this before, and want to suggest it again.  I can’t add much to the post other than to say there is no downside and all upside.  I argued pretty strenuously for this, and continue to believe it is a good idea.

Build for Raspberry Pi

I spent a bunch of time this weekend squaring away my four Raspberry Pi’s.  I have a 1, a 2, a three and a Zero.  They are fun.  They are cool.  They are powerful.  And, they are hard to develop for (though I am going to spend some time soon loading up ASP.NET core on to one of them.)  I think that the next big platform that Embarcadero should add is the Raspberry Pi.  It’s an ARM chip running Linux.  It would be awesome to take the current Linux capabilities and make them available to run on Pi’s.  I would love this.  Shoot, I got my Pi Zero for five dollars!  I would love to be able to write server applications and deploy them to a Raspberry Pi.  I absolutely am not the only one.  This would be a trailblazing thing to do, and could have a big impact on the spread of Delphi to new users.

Open Source (or at least put on GitHub) Their Visual Frameworks (RTL, VCL, and FMX)

It’s time.

I was at Philly Code Camp this weekend.  It was fun as always.  At the after-party on Friday night I talked to a guy who took a day long class on Microsoft’s Rosalyn compiler.  He talked about all the cool things he was building to automate code reviews by doing static analysis on the compiled code using the extensions from Rosalyn.  I was at a talk where they mentioned how many bug fixes and improvements have come to .Net Core since it was open sourced.  And this is code from Microsoft.  Microsoft!  They open source their development environment and it is thriving. Check this out — here is Anders Hejlsberg’s check-in log for TypeScript for the month of March.  You can interact with Anders on GitHub!

Embarcadero should follow suit.

Now, I can hear the objections.  So I’m not going to push to have these frameworks be open sourced.  I can understand why that might not happen.  But the source is already out there.  Why not put it on GitHub with the same license it has now?  You don’t have to open source it, but by putting it on GitHub you invite the community to provide pull requests with fixes and improvements.  You could recruit MVPs to vet the pull requests.  You can get the benefits of community input without an open source license.  The frameworks aren’t much good to anyone without the Delphi IDE and the Delphi compiler, so there isn’t much being given away.

It’s time.

Reduce development time and get to market faster with RAD Studio, Delphi, or C++Builder. Design. Code. Compile. Deploy.

Start Free Trial   Free Delphi Community Edition   Free C++Builder Community Edition   Upgrade Today  

  • It is already possible to use Delphi today for Rasperry Pi programming (see Delphi on Raspberry Pi and Running Delphi applications on Raspberry Pi 3).  And don't expect to see object ARC on Windows anytime soon if ever, as Embarcadero has already announced they are moving away from object ARC. They didn't include it in the Linux compiler released in 10.3 Rio, they won't include it in the upcoming OSX 64bit compiler, and they will disable it in the iOS and Android compilers in "the next major release after 10.3".

  • +1 for Open Source/GitHub the Frameworks. As you said, the source is already there (for those that buy the product) so there is no "secret" to hide. I'm pretty sure a lot of people would fix/improve the frameworks. At least, I will :-) I would like to add two ideas 1. Embarcadero should remove from its source the (free/open source) 3rd party components like DUnit, DUnitX, Indy, etc and instead, download the sources right from original project site. If Embarcadero have its own branch/fork that can't be merged, then let this branch/fork also public. 2. Make the Delphi command line compiler free, similar to what happened to C++ Compiler (www.embarcadero.com/.../ccompiler), or at least, make it available in Starter Edition. This would allow enthusiasts to compile the (open sourced) Frameworks and Unit Tests that you suggested.
  • Before thinking about Open Source for RTL, VCL and FMX, Object Pascal Language must be Open Source. Programming languages can no longer be closed today. In my opinion, Embarcadero is wrong not to do so. Microsoft did this with C# and the language does not stop growing, and is open to all to give suggestions and improvements with pull requests at GitHub. In addition, Object Pascal needs enhancements. Vincent Parrett has great ideas at the following link: www.finalbuilder.com/.../delphi-language-enhancements
  • "He talked about all the cool things he was building to automate code reviews by doing static analysis on the compiled code using the extensions from Rosalyn." This is the most important line in the entire post. Until Delphi has a proper, unified static compiler, there's no hope for growth. Young developers today expect that the IDE will make the right suggestions for a given situation. So many parts of the DevOps cycle are fundamentally broken because you can't do the kinda of static analysis on the code that common in other tools/lang.
  • I fully agree with the Open Source/GitHub idea and I would be among the first ones to apply for a reviewer position. This would dramatically reduce the work load of the internal developers who can then concentrate on the compiler and IDE. Perhaps we can make the curves of new and closed bugs in QP converge with this approach.
  • I agree. GetIt does need a grown up version, though. The current one is just an installer and not really a package manager. A generic ARM compiler for Linux would be a win, and Rasbian/Pi would be just the start. A proper IoT toolchain with supporting libraries could grow from that. That only leaves us with the fragmentation in memory management methods. We really could do with an ARC version of the Windows compiler and RTL/VCL also. Then it would really could be a true cross platform tool.
  • Couldn't agree more. Pull requests on GitHub, could be more motivating than the current QP/QC flow. I will add having Getit more inclusive - there are many components/libraries spread in the wild, hard to find. Look at nuget, npm, pip and other language package managers - GetIt should be the first place to look. And get the Android toolchain out off GetIt, don't play catch-up with the terrible Android SDK, let people do it by themselves, and just have an updated docwiki guide, like for iOS/macOS.