I really don’t understand
what Microsoft is up to....
In many respects, .NET has huge
advantages over the ‘old style’ Win32 programming with
its variety of incompatible languages and class libraries
(VB, Delphi’s VCL, the MFC - not forgetting Microsoft’s
short-lived Visual J++ and the Windows Foundation Classes
framework).
But what Microsoft has not yet established is a good
reason for developers to scrap their existing code in
order to switch to .NET. What is the gain? While there
are certainly benefits in having a neater class library,
garbage collection and generics, these hardly outweigh
the disadvantages of dumping your work and starting all
over again.
Rather than providing a means of gradually moving to
.NET, importing old code and deprecating features over
time, Microsoft decided that the move to .NET should
be all or nothing. I can see the technical attractions
of this. The grubby old world of ‘unmanaged’ Win32
is quite messy and doesn’t have all the slick,
shiny features of the managed world of .NET. Any compromises
that .NET makes in order to get ‘joined up’ to
Win32 would have the effect of making .NET less elegant,
less ‘pure’.
Fair enough. But for someone who has a huge code-base
built on Win32, elegance and purity are not my primary
concerns. Getting my work done as quickly and efficiently
as possible is far more important to me.
This is where Borland’s Delphi scores over anything
provided by Microsoft. The Delphi language has not been
modified beyond recognition (like VB .NET) or created
from the ground up (like C#). It’s gained a few
new features but nothing which irretrievably ‘breaks’ existing
code. Remarkably, you can load up Delphi Win32 applications
and just recompile them for .NET. True, you may have
to make some changes to fix type incompatibilities (those
pesky pointers) but this is certainly not an endeavour
on the sort of monumental scale which faces VB programmers
trying to convert VB6 to VB.NET. Moreover, if you want
to develop applications simultaneously for Win32 and
.NET, you can do so in such a way that the relatively
few Delphi incompatibilities are minimised or avoided.
Why is it that Borland was able to do this with Delphi
but Microsoft was unable to do it with VB?
Maybe that’s the wrong question. It would be ludicrous
to think Microsoft was technically unable to achieve
a degree of Win32/.NET for VB users to rival Delphi.
Microsoft deliberately chose not to do this. They went
for elegance rather than utility.
Now, some people would argue - some people do indeed
argue - that this was the right choice. Then again, it
could be seen as a symptom of the sheer size and dominance
of Microsoft. To a considerable degree, the company is
big enough to do what it likes to push through new technolgies
regardless of the needs of its users. Borland is in no
such position. Being a much smaller company, it must
respond to the needs of its customers or, quite simply,
it would go out of business.
With Delphi, Borland has a unique product which deserves
to be better known. As you’ll see from our review,
we don’t feel that Delphi is perfect, but it’s
pretty darn’ good for all that. Just a shame that
it’s now been lumbered with such an unprepossessing
name - the Borland
Developer Studio. Ah,
what the heck! It’s still Delphi to me…
Huw Collingbourne
(Editor)
If you wish to comment on anything in Bitwise, you may
write a letter to the editor.
See our Letters
Page for comments on last month's Bitwise.