February 19, 2007
A detailed description of new features of the database side adds to the picture of what's new in the next release of Delphi.
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!
posted by
marcocantu @ 11:26AM | 12 Comments
[0 Pending]
12 Comments
What's New in DbExpress 4 (by Steve Shaughnessy)
It's partly a good news - they acknowledged the old
model was not working and changed. Good - maybe they
will support Oracle's TIMESTAMP type at last <g>
But the fact that the driver will be written in Delphi
may be not good news: the Delphi compiler does not
produce highly optimized code yet. FastMM resolved
most of the memory manager issues (thank to Le Riche
and the FastCode project - not to Borland/Codegear),
but the compiler still produces "old code" only. It
does not use many of advanced instructions available
on "newer" (aka PIII, P4, etc.) processors. It can't
inline asm blocks. While VS will support CoreDuo
processors in the upcoming *service pack*.
I understand their advantages in unifying the code
lines, let's see if the new dbExpress will be a viable
solution.
Comment by Luigi D. Sandon on February 19, 12:18
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
Whats New in DbExpress 4 by Steve Shaughnessy
Steve,
I fixed the links, thanks for the pointer...
Comment by Marco Cantù
[http://www.marcocantu.com]
on July 7, 12:29
Post Your Comment
Click
here for posting
your feedback to this blog.
There are currently 0 pending (unapproved) messages.