Random Thoughts on the Passing Scene #87
01 Oct
- The Delphi 2009 Reviewers Guide is now online.
- If you are having trouble accessing the newsgroups, do make sure you are pointing your newsreader to forums.codegear.com
- A lot of you Delphi guys use Interbase, and the Interbase 2009 team has released Hotfix 1.
- I mentioned this last time around, but there is a growing and active Delphi community over at stackoverflow.com. The site takes a bit of getting used to, but once you get the hang of it — and get your reputation up to a decent level — it’s a pretty cool place to get good answers to questions.
- My boss — "The wizard behind the curtain" — wrote an article for Dr. Dobbs Journal — Why Is Native Code Development Still Thriving?
- Ray of DevExpress is looking for feedback on their Delphi 2009 component sets.


Hi Nick,
In D2009 Reviewers Guide one can read:
"One should note that Delphi 2009 is built using itself. Other CodeGear tools built using Delphi 2009 include Delphi for PHP and Blackfish SQL."
Hmmm… Are you sure that Blackfish SQL is built using Delphi 2009?
October 1st, 2008 at 10:33 pmThe reviewers guide is great - not only for reviewers but for developers, too!
October 2nd, 2008 at 12:32 amI have it from another source that the compiler itself is written in C. Way, way back I also heard assembler machine code exists, too. Fair enough.
But the IDE: A .NET runtime install is still necessary. IIRC, didn’t someone say this is because useful functionality in .NET is being implemented (which, by implication, is not available in Delphi Win32)?
My question therefore: Is the D2009 IDE written in Delphi.NET or Delphi Win32?
October 2nd, 2008 at 4:56 amWhen you port a language to a new platform, you need to build an ‘alpha’ (this thing have an official name in Computer Science? If it have, I don’t remember) compiler (in C, Assembly or any other language available that generates native and fast object files - i.e executables, libraries, partial object files, etc). After that, you create the ‘official’ compiler - the one that which will compile itself and generate the executables. Of course, the language must be powerfull enough to be able to create a full-blown compiler.
AFAIK, VB pre-dotnet wasn’t - it generated native executables preprocessing VB code to C(or C++, I don’t remember) - and no, I confirm this. An experienced VB programmer has shown it to me.
So, Delphi is written in Delphi. *Maybe* there was an ‘alpha’ when:
* Delphi 2 (porting the language para Win 32bits)
* Delphi 8 (porting the language to .NET framework)
It’s all a guess, of course.
October 2nd, 2008 at 8:59 amBest regards,
Fabricio
Oh, I forgot to list Kylix.
October 2nd, 2008 at 9:01 amI don’t use Interbase and I feel myself very good
October 2nd, 2008 at 9:57 am@Fabricio: Like Ken said, it’s not the compiler that’s written in Delphi, it’s the IDE. When on the delphi.org podcast, Barry Kelly mentioned that the [Win32] compiler is written in C (he should know, being on the compiler team and all!). I don’t know about the Delphi.NET compiler, though.
For a compiler to compile itself, it must be language compatible with whatever was used to create the original compiler, or, there must be an interpreter, in which case the compiler doesn’t exist in compiled form until it has compiled itself. (Phew!)
@Ken: It’s compiled using the Win32 compiler, as you can tell by attempting to open the IDE in a program like Reflector (it will complain that there’s no CLI header). The .NET stuff (mainly reflection, IIRC) is accessed from Win32 using COM interop (this can be done from any Win32 application).
The reason for the reflection being implemented in .NET is probably that .NET has CodeDOM. AFAIK, this makes it much easier to perform reflection: by implementing a CodeDOM provider, you have a language-agnostic way of doing things - it doesn’t matter if the source code is really C# or Delphi or even LOLCODE; the same piece of code can be used as long as it works with the CodeDOM.
At least, that’s how I understand it to work.
October 3rd, 2008 at 5:21 amHere’s a summary:
BDS.EXE and all the BPL’s used by the IDE are written in Delphi.
The compiler is written in C. All our compilers are.
The Code Editor is a DLL written in C/C++.
We use our own compilers for 100% of the build process.
Nick
October 3rd, 2008 at 10:03 amNick, you forget to mention the .NET parts of Delphi.
Best regards.
October 3rd, 2008 at 12:50 pmNewsgroups are again not working again.
Why Codegear website is so slow ?
Why should we buy something from a company that can’t even get website and newsgroups to work properly ?
October 8th, 2008 at 8:32 amThey still believe they can mimic MS… and keep on wasting resources writing software they should get from a reliable source, there are lots of good FOSS newsgroup/forum applications, but of course they don’t run on the Database Noone Needed, aka Blackfish. I was also surprised they choose BF over Interbase…
October 14th, 2008 at 2:38 amHi Nick,
I totally agree with "The wizard behind the curtain" and his article "Why Is Native Code Development Still Thriving".
Hopefully many will realize about the native code relevance in the current market.
October 14th, 2008 at 1:47 pm