Thursday 1 January 2009

Positive Delphi Post

I’ve been a bit negative towards Delphi in my last two posts, here and here. Actually they were negative towards Codegear/Emarcadero and not to Delphi. Delphi has been good to me, so here’s a positive post.

One of the major reasons people/companies say they can’t use Delphi for any new work is the uncertainty of where Delphi will be in a year. They say things like “What if Borland/Inprise (remember that?)/Codegear/Ebarcadero are not here in a year’s time?” All pretty good questions, but ones I’ve been hearing since about Delphi 4. The thing is Delphi may actually be in a better place than Microsoft technologies! No, here me out!

If I’d have started a project a year ago, and chose Delphi, I’d have used Delphi 2007. Right now I’d be upgrading to Delphi 2009, and adding Unicode goodness to my application and looking good for the future. Now, if I’d have decided to write my application in C# or VB.NET. I’d have probably gone for a Winforms application, and have used Linq to SQL to get to SQL Server. Well guess what, Winforms and Linq to SQL have been superseded. You’re supposed to use WPF and Entity Framework from now on, even if those two technologies feel decidedly beta at the moment. Who knows what they’ll have replaced them with in a year or two. There just doesn’t seem to be any plan there.

Happy New Year.

10 comments:

Anonymous said...

Even worse: If you went with microsoft technologies 5 years ago, that is Visual Basic, you would have had to basically rewrite everything when MS dropped support for VB6. VB.net was a painful upgrade at best and a nightmare at worst, depending on how many 3rd party OCXes you were using.

Compare that to just recompiling a Delphi 3 application from 1997(?) with Delphi 2009 and adjusting the odd string incompatibility!

Unknown said...

Very true Babnik. Microsoft sounds like a solid, large and stable company and they do have a lot of resources to put in (new) technology. However, they've proven to be arrogant enough to simply abondon technology and large groups of users of that technology and simply stating they should migrate to new stuff. Very bad, especially for developing standard products which have to be maintained for years. Happy new year for you too!

Anonymous said...

Your effort to say something positive about CG/Delphi resorted to criticizing Microsoft for it's lack of foresight WRT WinForms and LINQ to SQL. WPF is not a replacement for Winforms. WinForms is a useful part of the .NET framework and here to stay, there are times when knowledgeable developers will choose WinForms over WPF and sometimes even use both in the same app. Microsoft stepped on it's teat when it recently said the decision had been made that Entity Framework is the recommended solution for LINQ to relational scenarios. In clairfying what this means they say "Firstly we are going to make sure LINQ to SQL continues to operate as it should. This doesn’t just mean making sure what we had works in .NET 4.0 but also fixing a number of issues that have arisen as people pick it up for more advanced projects and put it into production environments." http://damieng.com/blog/2008/10/31/linq-to-sql-next-steps

Anonymous said...

Hopefully VCL.NET is not completely deprecated!

Babnik said...

I didn't mention the VCL.NET in my post as it would have completely negated my argument. Since I personally never used the VCL.NET, it's not something that affects me. A little selfish I know, but I never did think the VCL.NET was a good idea.

Bruce McGee said...

I completely agree with your point.

Just to add some balance, though. You have to give Microsoft some props for keeping WinForms and Link to SQL in the framework and even doing some bug fixes, even if they are essentially frozen.

It's a step in the right direction compared to the willful breakage they used to cause in user code between versions. The VB.Net migration fiasco was just one such case.

Anonymous said...

Ok that's just ludricous. So you admit VCL.NET being dropped is really bad, but you don't mention it in your post because it's something negative? And you criticize Microsoft for you making a mistake of choosing WinForms over WPF a year ago?

Ossian said...

The reason why it's always like this with Microsoft is that their concern is with their own products, they couldn't care less about third party developers. We are all competitors with Microsoft, why would they help us? Codegear, on the other hand, is dedicated to independent developers. Microsoft's next product and technology will be whatever it decides, they couldn't care less what effect it has on others. The real bottom line is that Microsoft should be broken up into probably three companies, by anti-trust legislation: 1) Operating Systems, 2) Applications and 3) Software tools. You'd quickly find that the situation with the software tools division would change out of all recognition: suddenly they'd have to give a damn about developers and they'd have to compete fairly against Codegear, which has a long track record of helping developers. The present situation with MS's monopoly is intolerable. But so are a lot of other things - just turn on the news - but they still go on. And on. And on...

Anonymous said...

Not only VCL .NET. How about dropping of Delphi .NET completely?

Babnik said...

Delphi Prism is Delphi .NET and a much better product and idea than the previous incarnation.