Tuesday, August 24, 2004

Borland, win32, dotNET and Delphi

Let's take a few steps back and have kind of a bigger picture down hands.

During last years, Borland has gone through several turn-arounds.
First was born Kylix and then D7 and eventually D8. Meanwhile, a few Borlanders went
over to Microsoft. While it surely was a deal of a lost to let them go for Borland, yet this
made a carrieer shift possible for others. The very first name that comes to mind is
Danny Thorpe, now Chief Scientist.

There's been quite of a movement lately in the Delphi community, since a noticeable
slice of customers showed their disappointment for what D8 didn't deliver.

Not only that, but some of them also perceived the new IDE as slow( which hasn't ever
been the case before, even with a lot of components installed ).

Right in these days, there's been alot of noise from Delphians about what Borland
should do to get back the slice of developers who have migrated or are migrating to
Visual Studio back.

Imho, the problem doesn't really is in what Borland should do, but what it can actually do to
improve the situation. It surely can't( though it's been proposed ) open source some of its
products due to the eventual loss of IP.

It can't even give out Delphi for free, or change its internal roadmap to satisfy a few developers.

Surely, Borland can show commitment to its developers and do it in several ways:

1) Give us a knockout D9( which should include Kylix 3 ) showing Win32 isn't a dead end for them. Anybody presumably has a very different and subjective view about what a knockout D9 should be. I'll expand on this later.

2) Send out more frequent updates - this can be done relatively cheap by setting up
public betas which can be downloaded and installed at clients' PCs.

3) Involving us with more programming contests, more challenges and/or by providing
superior services of some kind. These should be included in Delphi price for, say, one
month or two and then renewable through a subscription fee.

4) Funding BDN more aggressively and making Delphi help files more accurate and
much better worded.

5) Organize more chats with the Delphi R&D Team, so that they can get direct feedback from
users.

6) Improve QualityCentral

7) Allow single developers to submit components/software for inclusion in the Companion CD.
There could also be a "voting" system for this, so that BTPs get included automatically,
while single developers would need to get votes to be included.

8) Allow for public surveys, enable a few of them at once, and make the results
available for the community.

These were just a few offhand ideas that could help in making things better for us.

As to the aforementioned "knockout D9", this is my whish list:

01) Include my CDS Creator as a design time tool( , ok this isn't compelling )
02) Stabilizing and documenting the OpenTools API
03) Providing a real "make" tool, with possibility to generate HTML documentation on the
fly( this would later allow for easier integration into CHM help files or whatever is the
hype at the moment ) even at the build time.
04) Include a menu item to access Borland Forums and easily publish content on BDN
( which actually is a quite long-taking deal )
05) Restructure dataset classes to fully support interfaces
06) Enhance support for DLLs/Packages to be switched from one to another easily
07) Enhance support for forms, so that they can be made persistent in different
formats than DFM( which can still remain the preferred format for design
time stuff )
08) Enhance the new component wizard( didn't change since D3 I guess )
09) Add an item in the Help menu to detect actual Delphi version and listing all the
installed updates( it could be shown in a memo box so it can be cut&paste around )
10) Improve to-do lists( you can definitely do better than that, come on... )
11) Quality Central client in the Tools menu
12) XSLT expression builder( would help alot )
13) Fix the damned library path issue
14) Add a CodeCentral menu to manage your submissions( even with a very basic VCS to
keep track of changes in them )
15) Enhance WebBroker( how about the one webmodule issue? )
16) Make WebSnap use easier
17) Add a few classes to ease use of Design Patterns in Delphi( Singleton, MVP, MVC, etc )

Yes, I know my whishlist is huge :-)

You may be wondering why I didn't mention dotNET stuff in my whish list.
That's because I think that dotNET isn't just about at the development stage
"they" would like us to see it at.

For example: did you know that dotNET applications get JIT-ted everytime they're
started? Yes, every time they're started. So - say - if I have to run an application
that has a hell lot of plug-ins, each time I do it it'll be JIT-ted.
Another thing: did you know that each time an assembly gets loaded, it's not
shared with the other instances running the same assembly version?
Right, if you have - for any reason - to start two applications which share an
assembly, you'll have TWO copies of it in memory. At least, that's what I've been
understanding after a talk with some Italian MVPs.

Here is the big question: Is dotNET worthwhile?

The answer may seem a boolean one( yes/no ) but in fact we refer to "dotNET"
while we should be addressing each and every different aspect of it on its own.
That's because dotNET is an extremely complex platform, made up of different
frameworks and concepts behind them.

I've been playing with C# a bit now, and I can say I don't really like it too much.
Resembles too much C++ syntax( which isn't good ) and it's always like you're
going to use printf again.

My main real problem with dotNET is that( as most times ) MS behaves in opposite
directions: on one side, it standardizes C# and alot of dotNET concepts through
ECMA, on the other MS keeps filing patents of any kind and then, here you are, it
encourages the use of OpenSource stuff regarding dotNET.

I don't know you, but I for one would like to be able at any time to say what's
going on and not be surprised the moment later with a contradictory move.

It always seems the pacts with MS are never clear, and this sheds a dark light on
every "good thing" coming from that side and that's one of my main reasons( a part from
being a passionate Delphi developer ) to not go for the Visual Studio route.

I''m not going to scrutinize dotNET in detail here, mainly because these are my
impressions after a very short time playing with it.

Last, a couple of considerations about D8: Borland had basically no choice other than
letting it out soon, whatever the bugs where. After all, we all know the "even release"
problem since TP days don't we?

Though now, it's time for "when it's ready" answer back. We want our Borland back.

Cheers,

Andrew

No comments: