Joe White’s Blog

Life, .NET, and Cats


What *wasn’t* in Danny’s Diamondback session

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…

6 Responses to “What *wasn’t* in Danny’s Diamondback session”

  1. Will DeWitt Says:

    Excellent, but it’s really too bad about the operator overloading not making it in. Still, function inlining, sigh, so difficult to decide if I should be happy or sad when faced with these choices. :P

  2. max Says:

    7 no and 2 yes. Bad, very bad. I can stay with D6. :-( (((((

  3. Joe White Says:

    Hey, that’s 7 no and 2 yes on a very short list of things that weren’t covered already in any of the earlier sessions. Have you actually *read* any of the earlier stuff? Come on. The list of things that *will* be in Diamondback for Win32 has way, way more than two things on it. Read my blog, Nick’s blog, Danny’s and Allen’s blogs. There’s enough stuff in Diamondback, even just for Win32, to justify the upgrade several times over.

  4. John Emery Says:

    Even D7 is better than D6 even though the ‘compiler’ change list was not hugh, the IDE changes are nice. But when we get to operator overloading… that is not a language feature but a variation of language abuse by changing contractual behavior. At least with inline functions, you get the benefit of self documentation via function name.

    In refactoring, if you change the functions behavior, it is appropriate to change the function name to reflect the behavior. This is the ‘better’ way than operator overloading.

  5. Davor Sabljic Says:

    Well at least there’s some hope for a Mac version of Delphi, even if it ends up being merely a "plug-in" or "personality" for the Windows version.

    I wonder if it would be possible to make a CLX project in Delphi link to the PPC version of the FreePascal compiler – CLX being based on Qt library (AFAIK) which is cross-platform and available for Mac OS X – and make a GUI app for Windows, Linux and Mac from a single project all from within Delphi? That would be great as we wait (ever so patiently… c’mon Borland) for an official Delphi for Mac from Borland.

  6. David S Says:

    Is the inline support going to be like C++, where you can do something like this:

    Tabc = class

    . . .

    public

    . . .

    procedure incr( var i : integer ); begin i := i+1; end;

    . . .

    end;

    Or is it more like a kind of "macro substitution" a la the C Preprocessor?

Leave a Reply

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>


Joe White's Blog copyright © 2004-2008. Portions of the site layout use Yahoo! YUI Reset, Fonts, and Grids.
Proudly powered by WordPress. Entries (RSS) and Comments (RSS).