Is native code a dead end?

Is it necessary to move all of your code to .NET? Will your native code application continue to run on Vista and beyond? Should you develop new code using native compilers?

Should everyone move to .NET?

For existing applications, to move to .NET "just because" or without compelling reasons does not make sense. Many businesses have to keep shipping releases and bug fixing current code. It is not an option for them to simply shut down for months on end to port. .NET is a major choice in new projects, but for existing projects it should be moved to only with a compelling reason.

However, for many businesses there are compelling reasons such as new functionality in .NET. Examples are WPF, WCF, etc.

What about new code?

It depends on the type of code that you are writing. However for most enterprise and business applications, in 99% of the cases .NET makes the most sense for new code.

Is Win32 dead?

No. Win32 code will live for a long time because of the huge code bases written for it. And even after .NET becomes even more prevalent, Win32 (and later Win64) still has its place. Microsoft still produces C++ and managed C++ for this. Delphi Win32 applications will continue to run on Vista and beyond.

When is native code better?

Here are some simple cases. If you:

  1. Require the program should run without any installation or pre-requisites
  2. Need to run on Windows 98
  3. Have a large code base which is in maintenance mode and new feature are not common.
  4. Require direct hardware interaction (Excluding simple serial ports, etc which can easily be done from .NET)
  5. Need to directly manipulate memory
  6. Are writing device drivers
  7. Implementing your own encryption or compression algorithms.

#1 and #2 are fairly common scenarios.

Delphi for Win32?

For native code, Delphi for Win32 is the best development environment hands down for applications. Why? In short:

  1. What are the competitors? Visual Basic? C++? Those are not desirable options for Delphi users.
  2. I find the forms designer faster, more efficient, and more powerful than the WinForms designer offered by .NET IDE's.
  3. While .NET competitors have an up with ADO.NET, building simple client server or local bound database applications is more time intensive. Delphi exceeds by far in this area, and this type of application is very common among Delphi's user base and their end users who are typically small shops, downloadable software, and shareware.
  4. No prerequisite of .NET framework install required. In an Enterprise this is not an issue, but for the time being and into the medium term future it is an issue if you ship downloadable software.

About the Author

Chad Z. Hower aka Kudzu was formerly the the Regional Developer Adviser (DPE) for Microsoft MEA (Middle East and Africa). Chad is the team leader of Delphi to .NET and a professional speaker for Woo Hoo. Chad has worked with dozens of migrations from Delphi to .NET involving many of Europe's largest ISV's. Chad is also the original author and architect of both Indy and IntraWeb, which have been an essential part of Delphi since Delphi 6. More about Chad





Copyright 2006-2007 Delphi to .NET