The BDC'96 in Anaheim was host to over 2,5 thousand enthusiastic developers of Borland products. Over two thirds said to have Delphi as main topic (although a lot of Java enthusiasts could be found as well). Apart from Delphi and Java, tracks also included Borland C++, Paradox, Visual dBASE and companion products such as InterBase and ReportSmith. There were over 200 technical sessions and about a dozen special birds-of-a-feather sessions (that were prepared on the fly and mostly on demand by the numerous attendees).
Stones & Bones
The Opening Keynote by Paul "indiana" Gross and David "jones" Intersimone focused on Borland C++, Java/Latté, IntraBuider and Delphi (not on Paradox or Visual dBASE). Using a fictive "Stones & Bones" company, Paul et al showed how the Borland products can be used for implementation of the database and (web)reports. Very impressive, especially the new IntraBuilder part.
At the opening keynore, a new Borland development product was shown, with the name IntraBuilder, to help design (intranet) webpages. AFAIK, IntraBuilder is scheduled to ship somewhere around September.
Later today, I found out that you can download the beta of IntraBuilder (7 Mb) from Borland's IntraBuider site.
The BDC Delphi keynote was mainly about Delphi '97, probably the code-name for Delphi 3.0 (I guess every year will yield a new version from now on?). Anders Hejlsberg showed a new concept called "packages" that IMHO are VCL DLLs (not DCLs, but DLL with DCL design-time and DLL run-time capabilities all in one).
A package is a collection of components, just like a DCL component library. The difference is that the Delphi '97 IDE seems to be able to (dynamically) load (and unload) more than one "package" (component libraries) at the same time. From what we saw, it looks like every TAB of the Component Library can be a dynamically loaded package. I'm not sure what would happen if you tried to load two packages that both hold the same component (or at least two components with the same name) but we'll find out in time I guess. If each package has its own TAB name, then that will provide enough information to distinguish between the components with the same name (but on another TAB).
Dynamically loading/adding to the component libraries is really cool, and I hope that the Delphi '97 ToolServices will this time actually provide the hooks to do it from within IDE Experts (this could lead to real nice 3rd party project manager experts)...
A package is not only for design-time, but also a collection of components with run-time capabilities (unlike a DCL component library). It seems that you can use a package as just a DLL to support your application. With the VCL in a DLL, your application can become really small, of course. Does this remind me of VBRUNxxx.DLL? Yes, it does. Only as far as I could see, the new Delphi "package" deal seems to be for both design time (as kind-of DCL) and run-time (as kind-of DLL)...
IMHO, packages can play an important role in inter/intranet development with Delphi, as you only need to distribute the final application (the small .EXE file) while the VCL/DLL-packages can be shared and only downloaded if needed (i.e. if the particular package is not available on the client machine(s) in the first place).
This is especially relevant for corporate customers interested in multi-tier application partitioning. Of course, this is built on the concept of packages, so that you can have a very thin client application (downloaded on the web or whatever), and communicate to a middle tier application server communicating with Delphi objects, Java objects or C++ objects using COM and OLEnterprise.
Delphi '97 was further said to include automatic COM support, which means that we only need to specify that a particular class is COM, and Delphi '97 will take care of all messy implementation details behind our back.
Charlie Calvert did a great session on COM and DCOM (using Delphi 2.0), and it is already amazingly easy to create distributed objects across the network.
The only slight disappointment about BDC'96 was the CD-ROM that should have contained the outline, papers, code and session slides for each presentation. Unfortunately, about half of it was missing! (22 of the 56 Delphi sessions did not have a paper on the CD-ROM, and for Java there were even 15 out of 23 sessions with nothing at all).