Different tools for different needs




Seems that some of my comments in a session I presented at TechEd caused quite a reaction. First of all, and before getting into details (although it won't be too lengthy), I would like to say that I have been misquoted in certain blog postings, and I in fact followed-up with quite a large number of people that attended my session to double-check with them whether I had said some of those things or even something that might have been interpreted as such. However, that's beside the point since it doesn't matter what you say sometimes, there's always something else you can make out of it, take something out of context, you know, make "headlines".
I normally do not get into the soap opera dramas going on in the forums or blogs, but in this case, I am going to publicly post a note to give my exact thoughts on the matter, just as I did during the session. To start, this was a whiteboard session, that is, there was no prepared material or PowerPoint presentation. It was a technical session to discuss issues when porting applications from the VCL to the FCL, be it going from Delphi to C#, to VB or even to Delphi for .NET. Being a .NET conference, with .NET developers, it's more or less accepted that people attending are interested in .NET, and in this particular case, also interested in how to do such a port. Considering that during the same time slot, there was a whiteboard session by Anders Heijlsberg and one by Danny Thorpe, I'm sure that those who attended my session didn't do it because they didn't find anything else interesting to go to. Point being, nobody was "lured" into my session and nobody was "brain washed" and this was not an "advertising stunt". As a developer who has quite a bit of knowledge in both Win32 and .NET and having worked with both the VCL and the FCL and having ported several of our products to .NET using both technologies, I have had to overcome certain issues that I thought would be interesting to share.


I'm not going to write a transcript of my session, but I will highlight some of the points:

- One person was interested in VCL.NET. From my humble point of view, I do not see VCL.NET (as it stands today) as a viable platform for starting new projects. There's hardly any third-party market for it, you're exclusively locked down to one vendor, and from my personal experience, I've had my fair share of issues. 

- Someone else asked if they should port their existing application to .NET and if so, what to use, Delphi for .NET or C#. Once it was clear that they really had no compelling reason to port to .NET (other than some XML algorithm they had was inefficient), I suggested to them that they should continue with Win32 and only create bridges to interop with .NET if they really needed functionality, something they could do with Delphi for .NET or any other .NET language.

- I also mentioned in numerous occasions that there are so many applications and scenarios where Win32 is the best viable option and as such, Delphi is the only way to go since it outdoes everything else on the market. I did note however that it would be great to get new language features in Win32 such as generics that make a lot of tasks easier and more maintainable.

Now, one of the more controversial points where whether starting a new .NET project, should it be done using Delphi for .NET or not. From my point of view, and as such, I expressed, no it should not, taking into account how much more .NET 2.0 (and now 3.0) offers us. You would be locked down to waiting on Delphi to catch up to these new features and seeing the situation now, that is nearly a year, if not 10 months out.

As for existing projects, I specifically asked what the ROI would be for that particular project. If it was something that needed porting to .NET fast and could be re-used, then Delphi for .NET would be a good option, however I personally don't believe that actual code-reuse is so beneficial for two reasons:
1. You can always improve, that's what re-factoring is all about.
2. You reuse ideas, not code.

If people, as some have mentioned, are disappointed in me giving my honest opinion, then good for them, let them be. However, I will not endorse any one tool for all purposes, and let alone endorse any single company. If you want that, then go to Evangelists of the company you choose, not to me. I will, to the best of my knowledge, give an independent and honest advice on what I think is the best tool for the job at hand.


 

Comments: 


Add your comment: 

Name:  
E-Mail:  
URL:  
Comment:  
Please add 5 and 5 and type the answer here: