Delphi, Native, Reliable, all combined into one

Sometime ago I posted an entry about some comments Michael Swindell had made about how Delphi was a better choice for enterprises because of it's speed. Marco followed-up to that post with another one yesterday about how really .NET vs Win32 speed is not relevant, but what is relevant is being able to upgrade your application to the latest compiler, that same application written in Delphi 2.

I was going to comment on his blog, but since it turned out long, I've made it a blog post. Now here's the thing. My original blog post wasn't about Delphi vs Visual Studio/C#/VB or CodeGear vs Microsoft. My point was that it's not all about performance. It might matter for intensive calculations and processing, but in general, it is not the case for the vast majority of Enterprise (or non-Enterprise for that matter) applications, specially when the real bottleneck is the database back-end and/or network.

Now Marco's post has somehow hooked into stability and reliability. These are broad terms which can be applied to many different aspects of an application and it's lifecycle. More than the actual scalability and up-time of the system, I think Marco's post is mostly referring to backwards compatibility.

One of the other points he brings up is how certain technologies have been dropped or are not backwards compatible. As for things being dropped, I think it's fair to say all companies do it. Even CodeGear has done it. Should I forget all the investment my company made in Internet Express? What about those poor people that invested in WebSnap? Not to mention Kylix or the recent VCL.NET.  In the case of Linq To Sql, it was pretty clear that this was a mid-term solution until they had something shippable with Entity Framework, and just like everything, if you took the necessary protection, it wouldn't hit you so hard. 

In regard to backwards compatibility, I couldn't agree more. You need to try and sustain compatibility as much as possible. However, there are times when it's near to impossible and you have to cut some ropes for the "greater good". Sometimes it's not viable to allow for new functionality and/or features without making sacrifices. We had this many times on Indy.

He also mentions how continuously new technology comes out from Microsoft. Well here's the deal. Microsoft is a company. Just like most of us they are here to make money . They push out new technology because among other things, it generates revenue and obviously there seems to be a demand for it. It's the same as us, as developers. When working on a product we tend to continuously innovate and create new features for our end customer. Why? To try and improve their experience, to try and make it easier for them, but ultimately to also generate revenue.

At the end of the day, if you're on the bleeding edge, don't be surprised if sometimes you cut yourself. That's where you need to apply judgement and valuate the risks involved, both for yourself and your business. Nobody forces anything down your throat. You're free to continue using what you were using 5 years ago. ADO.NET still works today. All new technology is still built on top of it. You just won't get the added-value if you don't "upgrade".

One thought on “Delphi, Native, Reliable, all combined into one

  1. Yogi Yang

    Personally I feel Delphi being based on Pascal is more complex. But then so is C# compared to many other languages based on BASIC. I have been observing that as times goes MS and other language developing companies are coming out with more ‘n’ more complex languages instead to making things more simpler, they are making things more harder to learn and use. After publishing such overtly complex languages they will start publishing hordes of frameworks to make using that languages simpler. If we look at this from your POV it is business but I think it is Evil business.

    I totally agree with your point of view. But I feel you have given a very good name to instability of technologies "make money". It is a good way of escaping from companies indecisiveness on finalizing one truly working database technology.

    Companies like Oracle have standardized on how to access data and have been releasing data access libs (I know that they are mostly in C/C++) but I have not yet faced compatibility problems with version upgrade/update and yet Oracle is earning well. We had developed a small software which used Oracle 6 and just recently we updated it to work with Oracle 10i with hardly any changes in the original code (we could make all required modifications in just one working day). All the changes that we made were because of changes in MS’s networking backbone.

    Contrast to that look at MS and for that matter also to Borland/Code Gear. Dame they have yet not been able to standardize on database access even after all these years and they keep on developing and releasing newer shit which keeps on breading older code. Using these I feel like a "guinea pig" in a lab.

    Anyway these are my views. They may not be yours. I could not help commenting on your blog 😉


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s