Joe White's Blog Life, .NET, and cats

What *wasn't* in Danny's Diamondback session #Delphi #borcon2004

Stuff that came up after Danny's talk (which I briefly summarized here). Even those of you who were at the talk didn't hear this stuff yet. (Well, except for Allen, but I suspect he already knew all of this anyway.)

Delphi for Mac?

Now, don't get your hopes up. There is no official word on this yet. (It may be worth noting that this is not an official "no".)

Yes, you can get partway there with Mono, but there's not much there for GUI. However, when someone was asking Danny about this after the session, he pointed out that Diamondback will be a multi-personality IDE (with the three personalities out of the box — Delphi/Win32, Delphi/.NET, and C#/.NET). And personalities will be part of the Open Tools API. (Not sure if that'll be totally cleaned up for Diamondback, but it's there.) Open Personality API?

So, whether Borland writes a Mac personality or not (and mum's the word on that so far, so you can still hold out hope), somebody else might be able to. This is a pretty darned intriguing concept, I think.

The features are coming! The features are coming!

I spent a while grilling Danny about what will be in Diamondback for Win32, and what will sneak in later. Here are the results. (Tabular format makes the holes a little more glaring, doesn't it? Still, this is good stuff to hear word on...)

Feature Diamondback Diamondback+1 (Whidbeyish)
'strict private' and 'strict protected' in Win32 Yes
'static' keyword in Win32 No Forgot to ask
Class constructors in Win32 No Forgot to ask
Nested classes in Win32 Yes [Note 1]
Records with methods in Win32 No Yes [Note 2]
Operator overloading in Win32 No Yes [Note 3]
Custom attributes in Win32 No Forgot to ask
Generics in Win32 No Researching
Multicast delegates in Win32 No Researching

Note 1: Yes, they'll be there, but you won't be able to use them in published sections because RTTI won't be able to cope with them.

Note 2: Records with methods will be there primarily because they're a prerequisite for operator overloading.

Note 3: Will only be supported for record types.

Usual disclaimers about forward-looking statements, but if Danny thinks it's going to be in a release, I'd say the odds are pretty darned good...