I am worried!

by Kim 29. October 2008

I am seriously worried! Wake up call!

I perhaps should be worried about peace on earth, financial crisis, cost of energy, climate changes... and indeed I am... but thats not whats on my mind right now.
Whats on my mind is that Im seriously worried about the future of my beloved programming language Delphi. Since 1995, I have used Delphi extensively. Since 1998 I have contributed to the Delphi community via various projects. Since many years I have been a Borland/CodeGear Technology Partner. In other words, I have been living Delphi, breathing Delphi and dreaming Delphi... (sort of...Wink).

I have been following Borlands rollercoaster ride with Delphi being the rising language, setting the standards for how to program, thru the very, for Delphi and the community, unfortunate (lets call a spade a spade... stupid) decisions that Borland have made over the years. The constant uncertainty about the direction of Delphi. The rise of cool technology which gets to some level of adoption, after which its being dismissed from one day to the next etc. It certainly have been a ride where one have had to have a certain stamina and to some extent, naivity and optimism to stay on board.

After these initial mind travels, I think its in place to wish RemObjects congratulations with their agreement with CodeGear about the new CodeGear/RemObjects joint project with codename Prism. What is Prism? Its also called Chrome and later renamed to Oxygene. Its an Object Pascal variation designed from ground up for the .Net platform. It contains alot of cool features, not found in Delphi today. Because its close to being a 1st citizen development language on the .Net platform (programming language wise I would consider C# the only true 1st citizen due to the direct ownership and management by Microsoft that 'owns' the .Net platform), its also able to integrate with all the new cool features of the .Net platform... nearly anyway. Its using Visual Studio 2008 as the IDE. Actually I think its really something of an impressive feat by the RemObjects guys to lift this project to the level it has reached today.

Hence, despite RemObjects and C4D's rivalery on other areas, I clearly recognize the technical merits of their product Oxygene.

So all that aside, get to the point old man!

What have historically made Delphi a development tool of choise (the list may not be complete, add your own reasons)?

  • Fast one pass native code compiler
  • Good debugger
  • Integrated debugger, editor, compiler and designer (RAD)
  • Good structured language
  • Good backwards compatibility between releases
  • Generally well designed control and component framework (Visual Control Library - VCL and RTL).
  • Good price point
  • Very good community support
  • Not really any other development environments out there with the same featureset and usability.

In addition, slightly later in history, further reasons made it compelling to use Delphi:

  • One source Linux support via the product called Kylix.
  • One source .Net support via the product called Delphi/.Net.
  • One source Win32 support via the product called Delphi/Win32.

Hence people started out with Delphi on the Win32 platform and some eyed an oppertunity to move their applications or components to other platforms as they were made available. Even today some people use Kylix as the development tool to delivery their applications to the Linux platform, many years after Borland made yet another stupid (spade=spade) move.... to discontinue the Kylix project.

Later Java and specially Visual Studio.Net have made serious ripples in the RAD development waters, blurring the originally apparent advantages and image of Delphi. Both have gained alot bigger market shares in the corporate environments than Delphi ever had. Specially Java has been able to (to some extent) replace existing mainframe oriented programming paradigms.

On the desktop, new requirements related to graphics, 3D, animations and the user experience are constantly rising. These are areas where specially Adobe's Flex and Flash RIA solutions have gained a very strong foothold. A foothold I doubt even Microsoft will be able to seriously dent. JavaFX, Silverlight and WPF are technologies also competing in that area. And our beloved Delphi have very little ammunition to provide there, except for relatively disconnected 3rdparty component providers trying to provide some of that functionality in the Delphi environment.

So to sum up the situation.. Delphi has lost foothold in the Win32 desktop space. It has no foothold in the Linux desktop space. It has no foothold in the Apple desktop space. It also have no foothold in any mobile spaces. Further it has lost whatever foothold in the server arena, where it has never been really really strong, partly due to conservatism and later 'Noone is shot if a project fails when one have chosen IBM, SUN or MS for the platform/development tools'.

So whats left? Mostly small developers who still have the freedom to choose according to their hearts rather than their wallets or corporate policies.

If corporates want to develop new projects for the MS platform, what will they choose? C# is most likely the answer.

Will corporates choose to develop native Win32/Win64 applications for new projects if they know those are going to reside on the MS platform only? Most will probably not. They will choose to use .Net due to the hype and the maturity of the platform.

Hence Delphi's iceflake is really melting rapidly from all sides. And that sentence is the trigger for my now almost complete loss of faith in the Delphi environment as a future proof platform.
CodeGear may have chosen a superiour compiler for .Net by hooking up with RemObjects, but they have also ensured that all existing projects and components that have already been made available for Delphi.Net on the .Net platform now see no future with Delphi. If they want to exist on the .Net platform, they only have the choise to use Prism/Visual Studio.Net ... or C#/Visual Studio.Net. The safe bet is to use C# as it, without doubt, will be the most up to date development language for the .Net platform for as long as MS decides that the .Net platform have a life.

Net result is thus that existing Delphi developers, who have played on the horse of cross platform support using single source, now have to choose to create multiple source trees, or simply to go where the cake is bigger and the current new technology emerges from. And thats not in the native Delphi world.

I have said it for years... Delphi's absolutely biggest advantage was the feasibility of RAD cross platform deployment based on single source, and the originally very vast developer and 3rdparty vendor community supporting the product.

CodeGear have essentially chosen to cut the legs off Delphi or put differently, to put a flame torch to the ice flake on which Delphi stands.

Not providing single source, multi platform support, equals dropping the one single feature and unique sales point, that made Delphi stand out these days, and that could make small/medium sized corporations think twice before jumping in bed with C#/VS.Net or Java.

Its unfortunately a very depressing outcome, and not so full of optimism and joy, as many previous blogs about CodeGear, that I have made.

Cross platform, single source .... cross platform, single source .... cross platform, single source .... cross platform, single source .... cross platform, single source!
THAT WAS YOUR UNIQUE SELLING POINT - EMBARCADERO/CODEGEAR!

/Kim Madsen

 

 

 

Related posts

Comments

October 29. 2008 16:47

Gravatar

"CodeGear may have chosen a superiour compiler for .Net by hooking up with RemObjects, but they have also ensured that all existing projects and components that have already been made available for Delphi.Net on the .Net platform now see no future with Delphi."

Only VCL.Net components. I'm of the opinion that most people are using ASP.Net and for that there is a future for your projects and components.

" The safe bet is to use C# as it, without doubt, will be the most up to date development language for the .Net platform for as long as MS decides that the .Net platform have a life."

Have you checked this out ?

http://prismwiki.codegear.com/wiki/Delphi_Prism_vs._CSharp



John Moshakis ca

October 29. 2008 17:06

Gravatar

Hi,

Yes.. As I also stated, Im sure that Prism is a technological advanced product and it may also have syntactical sugar that C# doesnt have. However it doesnt change that the majority of people/companies going to the .Net world, will choose C#. Its the safe bet in more than one way: You can be sure you can find people schooled in C# right out of the institutions, and you can be sure that it always will be able to do what MS intend developers should be able to do on the .Net platform for the life time of the .Net platform itself.
Anyway, my blog wasnt intended as a comparison between whats better, C# or Prism/Oxygene, but rather comments about the, in my opinion, very grim future for Delphi as we know it, the CG decision have made.

best regards
Kim

Kim

October 29. 2008 17:24

Gravatar

I have to say, sadly, that I agree with most of your comments.

The only thing I see here as an advantage is that CodeGear and their development resources can focus ENTIRELY to native development, and leave RO to drive their .Net future, trying at least not to go too far from the Delphi syntax.

Now, with focusing on native development, I mean putting all their efforts not only on 64 bit, but on Web, RIA, services and middle-tier / database connectivity.

I hate hearing Nick saying, yeah we want only to work on Windows Desktop apps, being in a web world, hearing that is depressing. I hope that Intraweb saves the day for all the Delphi guys that need apps on the web and do not want to go into the .Net world.

They have a large dev team in comparison with RO and probably even DevExpress, so there is no excuse, now that basically they bail out on .Net, not to provide fast and continuous updates with more technology and enhancements being introduced, like the companies mentioned above.

Because so far, this CodeGear subscription thing has not work out since I jump into it, one version every 1.5 years, patches just to fix bugs, but not the level of catch up I will expect with their resources.

There is no more red tape, there is no more Public company talk, we should see something seriously happening now otherwise, as you said Kim, when people need to chose between C# or Delphi Prism on VS, the answer is easy. No manager will understand why having VS in there we just dont use C# and if they don't put something cool out there soon, what are we left with?


Esteban Pacheco ca

October 29. 2008 18:56

Gravatar

Unless you think that codegear should abandon dotnet, I think the future is alot brighter inside visual studio than out of.

I think its also alot easier to get a manager type who wants to use managed code to accept visual studio than an IDE from another vendor.

John Moshakis ca

October 29. 2008 19:06

Gravatar

Hi,

On the .Net platform, only few managers would accept anything but VS.Net AND C#. Generally imo, there really is no (or only a small niche) market for anything else but C#. Even VB.Net (A MS creation) doesnt fare too well as people realize that C# is the perceived 'native' development language for the .Net platform and everything else is not really 1st citizen on that platform.

Hence CodeGear should not focus on taking market shares on the .Net platform. That race is lost long time ago. They should instead focus about ways to ensure existing Delphi developers stay on Delphi and are never forced off that platform. And they should focus attracting new Delphi developers by having unique selling points, which native RAD cross platform support is one of (and really just about the only one these days).

Kim

October 30. 2008 04:45

Gravatar

One of the key features of the .NET Framework is the ability for a developer to code in his prefered language. So imo Delphi Prism adds another choice to that. If you developed in VB6 you would probably choose VB.NET, C# is the natural evolution for a C programmer, and Delphi Prism would be the natural choice for a pascal developer.
So it is all about preference, .NET glues it all together.

Imo Delphi Prism has a future, but it would be naive to think that someone without pascal background will choose Prism over C#. But nothing is impossible of course.

It would have been great as CodeGear had keep the VCL.NET solution as a cross platform solution for Delphi Win 32, which would not be on 'the latest greatest' .NET framework, but would offer a upgrade path, maybe with some compatibilty with Prism. But I guess it is not worth the effort (yet?).

Roland nl

October 30. 2008 05:44

Gravatar

From an application developer point of view I think:
100% IDE = 5% IDE itself + 15% language + 80% libraries
The real challenge for an application developer is to learn new libraries.
I agree with you Kim, but let me add that a great advantage of Delphi Win32, Delphi .NET, Kylix is the VCL (consider also C++ Builder).

By the way, do you remember C# Builder?

Pablo Reyes es

October 30. 2008 06:33

Gravatar

"Cross platform, single source .... cross platform, single source"

Surely that was lost with Kylix a long time ago? In the Codegear Prism literature they seem to be pushing that idea again with the Mono CLR (although I have no idea how ell this works in real life), plus RemObjects seem to be concentrating on making tools for porting Delphi code across to Prism although with the VCL gone, that's never going to be easy.

George gb

October 30. 2008 07:56

Gravatar

@Kim: "Even VB.Net (A MS creation) doesnt fare too well as people realize that C# is the perceived 'native' development language for the .Net platform..."

It's strange but TIOBE index gives different results:
http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html
#4 (Visual) Basic 9.811%
#8 C# 3.767%

Kryvich by

October 30. 2008 09:45

Gravatar

> Cross platform, single source

Kylix CLX = Linux
Delphi VCL = Win32
Delphi VCL.NET = Win32/Win64 + .NET

This trio might provide single source, but it's hardly cross platform since none of these will run on the Mac. I think Mono+WinForms provides the most likely way to provide "cross platform, single source" via Mono. But there is no clean way to port a VCL app to WinForms, so this effectively forces a rewrite. And when we talk "rewrite" it's really hard to justify a committment to anything other than C#. ShineOn is an open source project to provide a RTL emulation library for Prism. That's a good start, but a similar project is also needed to port VCL apps to run on top of WinForms. This would be a huge project, and it would require a full-time developer (or two) to accomplish. I think CodeGear should dedicate some full-time resources to a project like this.

Troy Wolbrink

October 30. 2008 14:40

Gravatar

Pablo Reyes: Yes.. I remember C# builder. Im completely in agreement with Borland to dismiss it at the time... it should never have been made imo. It was yet another tool to guide people away from the Delphi language.

George: Prism can be managed cross platform etc. which is good in it self. But it isnt Delphi. It doesnt assist Delphi to gain stronger foothold. It actually rather assists people to move away from Delphi and the IDE as we know it.

Kryvich: The validity of TIOBE has been discussed many times. In any case Visual Basic covers lots of postings that are not related to VB.Net. I dont have numbers, but every single company I visit choose C# when developing for .Net.

Troy: Absolutely. A VCL/Mac is something that imo should be considered strongly, specially now when Apple is really pushing forward and getting to be more mainstream than it were before.

best regards
Kim

Kim

Add comment


(will show your Gravatar icon)  

  Country flag




Live preview

March 11. 2010 10:47

Gravatar

Powered by BlogEngine.NET 1.0.0.0
Theme by Components4Developers

Calendar

<<  March 2010  >>
MoTuWeThFrSaSu
22232425262728
1234567
891011121314
15161718192021
22232425262728
2930311234

View posts in large calendar

Categories


Archive

Disclaimer

The opinions expressed herein are personal opinions and do not necessarely represent Components4Developers view in anyway. Any forward looking statements are not a guarantee of future direction and Components4Developers retains the full right to alter our plans in any way.

© Copyright 2010

Sign in