February 19, 2007
What's New in DbExpress 4 (by Steve Shaughnessy)
After delivering information about MSBuild integration, InstallAware support, and new Vista components, CodeGear continues to "informally" describe the new features of the coming version of Delphi with a detailed blog post by the developer behind Delphi's database connectivity technology.
In a very long and detailed post, Steve Shaughnessy describes version 4 of the dbExpress technology, which should unify the Win32 dbExpress and the .NET BPD architectures in a single library. But this is only one of the new futures coming along (and meant to simplify the reduce the development of drivers). Another notable change is that, differently from the previous versions, "the dbExpress framework is written in 100% Delphi".
The new architecture allows for "delegate drivers" that can pre-filter or post-filter any call to an actual driver, in a chain. Available filters will provide extended tracing and connection pooling. There is also support for extended commands (or metadata commands) and everything should come with enough source code to be considered an open architecture.
Sounds like this so-called Spacely will be an interesting update to Delphi, after all... Keep up the good work!
11 Comments
What's New in DbExpress 4 (by Steve Shaughnessy)
There's no pleasing some people... If it's written in Delphi, then every improvement they make in Delphi will flow through to the bottom line, i.e. improving the compiler, RTL, adopting fastcode routines etc. will all improve the performance of the drivers. Happy?Comment by Oliver Townshend on February 19, 13:45
What's New in DbExpress 4 (by Steve Shaughnessy)
Yes, every improvement - when and if they are made. Hope to see some *real ones* soon. In the last four years I only saw half-baked "improvements", and adoption of code written outside Borland/CodeGear - but they couldn't change the way the compiler works. At last CodeGear understood native development could be the way to go, but it won't be low-end native development. Those who won't migrate towards .NET or Java will be those writing high-end native apps, and they need a state-of-the-art tool, not one using a compiler and RTL that did not change too much in the last ten years. Multicore processors and 64-bit systems are already on many desktop and in many server rooms, but Delphi still targets the 386 only - cooooool! Yes, there will be another group of programmers who will continue native development - those too old to migrate to anything new. Target them, and CodeGear will disappear with them. Meanwhile MS adds features even in *service packs*, while Delphi update packs are used just to make it barely working after alphas or betas are sold as "stable" releases, and most bug fixes still require an expensive upgrade - if they are ever fixed. Some features like the translation manager were broken after Delphi 7 and never fixed. Happy? No. Not happy at all. As long as they took four releases to get the Galileo IDE "flicker free", while many windows still do whatever they like whenever they like, I don't rely too much on "improvements", sorry. Just waiting to be shown to be wrong, but I am almost sure I am not.Comment by Luigi D. Sandon on February 19, 15:58
What's New in DbExpress 4 (by Steve Shaughnessy)
Luigi, I've let your two message through... but you know I don't like this totally negative attitude. What has the quality of the compiler to do with dbExpress (the topic of this post)? When it was compiled with Borland C++ compiler you got no better optimization! What has CodeGear to do with past "too-limited" investments in Delphi by Borland? If you don't want to give them a change, go ahead... but spare us the FUD.Comment by Marco Cantù [http://www.marcocantu.com] on February 19, 16:29
What's New in DbExpress 4 (by Steve Shaughnessy)
It's not FUD. We have a large investment in Delphi - and for large I mean *large*, sorry, I can't tell more because I'm under NDA -, and we are very worried about the direction Delphi is going to. In the past month we felt we were in a dead end. In these months we saw Borland and CodeGear keep on fluttering in the wind, without a clear direction. What developers do they target? Developers - and companies - *are not* created equal. Do they target hobbyist and small shop developers? Do they target enterprise developers, and I do not mean developers working *within* an enterprise, I mean developers developing software sold *to* enterprise-level companies. To sell software at that level you need your suppliers to support you at that level. CodeGear seems to be unable to perform that. I am tired to see announcements like that about dbExpress coming from informal blog posts. They should be official announcements, with more in-depth infos to allow customers to plan their future developments. It will also make clear to what type of applications Delphi and BDS are aimed to. The compiler quality and platform support are the foundation of all the Delphi stack. Moving to Delphi- coded dbExpress drivers could be a half-improvement if other long-needed improvements are missing, and if .NET compatibility is one of the main requisite - I wonder how optimized such a code could be. BTW we are still waiting for the revised roadmap, to clarify some of these aspects - for example I guess dbx4 will support Unicode because .NET does, but if the RTL and VCL are not fully Unicode enabled what's the gain on the native side? Overall, there are OS projects managed far better than CodeGear is doing. Clear roadmaps, clear visions, official informations. MS is following the same path, maybe forced by that pressure. To get some information from CodeGear one needs a collection of RSS feeds. No "official" statements. Is this a "professional" business conduct? Sorry, it's CodeGear itself spreading FUD about itself. We are the victims.Comment by Luigi D. Sandon on February 19, 19:42
What's New in DbExpress 4 (by Steve Shaughnessy)
Marco, I couldn't agree more with you regarding Luigi's post. Confusing compiler ASM code generation with database access performance just leaves me scratching my head.Comment by Steve Trefethen [http://www.stevetrefethen.com/blog] on February 19, 20:28
What's New in DbExpress 4 (by Steve Shaughnessy)
Hi Marco, I am sorry to say that, but Luigi has some points. Delphi (the core stuff) hasn't moved too much during the last couple years. I'm still hoping that Codegear can turn this thing around. The new dbExpress stuff sounds great and I guess we all hope this is only the beginning. There are quite a few things missing right now that really make it hard to chose Delphi over Microsoft's offerings. Generics, Unicode, a compiler optimizing code for current processors, etc... If you look at it you have to admit that most stuff that has been done lately falls under the "cosmetics" catogory. While codetemplates might be nice and useful, I'd hardly call them mission critical, for example. Compiler improvments on the other hand are mission critical and I don't understand why there's not more effort on that front, or if it is, why it is not communicated more clearly.Comment by Fritz on February 19, 20:39
DbExpress 4 , some questions from a newbee
*will codegear open all sources relevant to dbx4 ?
*should one continue the investment in 3rd party
database interface layers, or migrate to DbX4 ?
*what is the message towards 3rd parties here from Steve?
* are there limitations in DbX4, like uni-directional
sets, and other non-contemporary, last millenium
(<2000) type of restrictions
* can we select in process, versus out of process
execution for the database layer ?
When in process, is still the same thread of execution
doing the database work (e.g. waiting for disk) and
updating the GUI (i.e. non cancellable etc)
* if we perform SELECT REPEAT('MARCO',10000), how many
times is a memcpy or strcpy hit ? or move ?
Comment by Mark W
[]
on February 19, 22:31
What's New in DbExpress 4 (by Steve Shaughnessy)
Luigi, (i) in my view your posts spread a lot of FUD (ii) you cannot pretend to be the only person with a large investment in Delphi code (iii) you're worries are understandable but repeating them everywhere won't make them vanish (iv) announcing from blog posts is an industry practice these, days, whether you like it or not (v) dbExpress 3 already supports Unicode (vi) as for Microsoft providing clear information about their future moves this is often not the case, see the Atlas semi-fiasco as an example. Fritz, truly CodeGear has to move faster than Borland did over the last few years, but we cannot blame CodeGear for Borland past mismanagement of Delphi. Generics in Delphi Win32 have been promised in the past and some Unicode support has started to appear (but more has to come). Mark, I hope we'll see more source code (but I guess not open source code!) for dbExpress, I'm expecting uni-directional sets, as in ADO.NET and many other similar database layers (I strongly disagree with your remark of a non-contemporary approach, I think it is a rather modern and common one); as for thread-based execution you can take control, although I second a more thread-safe VCL.Comment by Marco Cantù [http://www.marcocantu.com] on February 20, 00:28
What's New in DbExpress 4 (by Steve Shaughnessy)
i see some sounde like about in D11 DBexpress 4 go open source is true ?Comment by Maziar Navahan on March 24, 08:32
Whats New in DbExpress 4 by Steve Shaughnessy
Hey Marco, The first two links in this post take me to a Google "Redirect Notice" error page.Comment by Steve Trefethen [http://www.stevetrefethen.com/blog] on July 2, 19:12
Post Your Comment
Click here for posting your feedback to this blog.
There are currently 0 pending (unapproved) messages.


What's New in DbExpress 4 (by Steve Shaughnessy)
Comment by Luigi D. Sandon on February 19, 12:18