Some answers: The Delphi Development Process

Well, thanks to people’s comments I can see that there is quite
a bit of interest surrounding the our Development Process not to mention the
fact that I have more than a few questions to answer. So, let’s get to it:

How about about posting some screenshots of you designing an
average IDE form, with a bit of code showing?

I’ll see what I can do
although I’ll need to ask around a bit before doing that.

Very interesting, particularly this part: “QA’s patented
automated testing framework is written in Delphi” I’ve never heard about a
patented automated testing framework before, and would love to hear some
details.

There is a lot to be said about our testing framework and it is
IMO definately cool technology. Perhaps I can get one of our current QA people
to blog about it and I’ll ask around. I’ve been out of QA since 1999 and I’m
sure there have been many changes to the framework since but if I can’t seem to
generate any interest I’ll certainly consider blogging about it.

A side note to Julian thanking him for his correction, yeah that was
embarrassing. I seriously need a preview button in .Text. To solve that I’m
writing this post using the latest internal build of Delphi and editing using
the HTML designer. That way I can see the stylesheets (including my custom
changes) and edit live right from the Tag Editor at the bottom of the designer.
It works great! I think I’ve found a new way to write posts thanks Julian!

I have a question about the organisation of such a big project:
how was handled the build of Kylix and C++Builder ? Both derive from Delphi but
are slightly differents.

I know the first release of C++Builder was a
separate branch of Development where a few engineers simply took the Delphi code
base and started turning it into C++Builder. Eventually, the cost of maintaining
two trees was too much the two products were integrated into a single codebase
although I’m not exactly sure when C++Builder was merged back into the Delphi
branch. When building the Architect SKU on a developer machine we currently get
Delphi Win32, Delphi .NET, C#Builder and C++Builder all in one shot. Our Linux
products are on separate branches and yes there was lots of merging changes
between the codebases since a lot of the code is the same but significant
portions were different enough to require another branch. I’ll continue to
discuss how development works on a project of this size it’s pretty cool when
you think about it.

Borland
acquired a software product called Genitor a while back. That asset was part of
the StarBase acquisition. Do you guys use that tool internally at all?

The
simple answer the Delphi team does not use Genitor. To be totally honest I went
right to the Borland website looking for it and unless it’s well hidden I can’t
see any information about it. That said, I’m not in product marketing and just
because I’m not familiar with this product shouldn’t reflect at all on the
actual state of the product itself. So, please get in contact with someone
either in marketing or sales for more information.

Steve, do you do code review? How do you do it?

Yes,
although like most teams I suspect we could be doing better in this area and in
fact I have a number of things I plan on blogging about related to this area so
stay tuned.

How many people are involved in ‘the making of Delphi’?

This is a good question for which I don’t know the answer. Let me
explain… As I mentioned before, the Borland Developer Studio (BDS) is under
construction pretty much around the clock these days given the various locations
of Borland Developers around the world. Having said that I simply don’t know the
total number of people working on the team including R&D, QA, Doc,
Integration. I would say that it’s probably smaller than you’d think. BDS
includes integration with StarTeam, ECO and Together so do they count?

In what language is the delphi compiler (dcc32) written in? I
know the RTL and the IDE are written in delphi, but what about the compiler? Is
it written in delphi, too?

The Delphi compiler is written in C and
developed using C++Builder. At least, that’s what I see up on Danny’s screen
whenever I go into his office. 🙂 Our compiler technology is also leveraged by
our C++ compiler.

“dogfooding” blecchhh!

I agree although I’ve certainly
heard it enough to believe that it’s familar enough nomenclature to be widely
understood. FWIW, you’d hardly ever hear that term here at Borland largely
because it’s not actually necessary. When the tool is written in itself there
really isn’t a requirement to force yourself to use the app you develop because
it’s the only way for you to get work done.

Why should this come as any kind of suprise, that Borland use
Borland tools to generate Borland tools?

For Borland customers it
shouldn’t. In fact, I think most Delphi customers would be shocked if Delphi
weren’t written in Delphi but how about asking the same thing about a VB user.
What I can say is that I’m not surprised that VB isn’t written in VB.

Did you expect them to be using Microsoft tools?

Actually, we do use
MS tools. In fact, we use the C# compiler for a number of pieces of Delphi for
.NET. We don’t really look at it as some sort of war with Microsoft. We use the
tools that allow us to get our job done and thankfully most of the time it’s a
Borland tool.

The interesting question is, are the Delphi developers using
the current alpha/beta version for development of the new version, or the
previous version?

Absolutely. Typically, when a developer finds a stable
build they’ll likely stick with it for anywhere from a few days to a couple of
weeks depending on what sort of work their doing. One benefit of using the
latest build is that you get to use the cool new features that are coming in and
influence how they work and give immediate feedback.

Other things I can think of to cover are:

Whoa, Dan, I’ll
get there but it’s going to take some time but thanks for filling my idea box!
🙂