It seems fitting to make one last tribute to ObjectSpaces on the eve of the PDC. Last time around Luca was good enough to break the news to everyone, that ObjectSpaces was undergoing realignment with WinFS. That it was being pulled out of Whidbey and would or should appear sometime later. But we all knew what that meant.
ObjectSpaces was a big part of my life, my career for a long time. I was involved in its birth, its conception. The first preview appearing years ago at the PDC; that was my prototype, my code, as awkward and ugly as it was, opath, spans and all. A talented team of developers gave you the next preview and so on. I went away to work on something else, but ObjectSpaces was still on my mind. In fact, the reason I walked away was for the chance to work on what I believed to be the next logical step forward. ORM was only half the picture. The state of the art was still API’s, with queries in strings; opath was still another language.
With the Xen project we proved that modern programming languages could be modified to include basic concepts such as query. We borrowed a lot from other languages, functional and otherwise. Streams became a natural concept as well as query expressions, (aka comprehensions to language-heads). Yet we went beyond and tied it all together, all the way down to the database, and by doing so put the ease of 4GL database programming back into the hands of developers, without co-opting the language, without tying it directly to one product, making query more general purpose, making it work for XML and any in-memory data structure.
Now we are on the verge of a new era. Language Integrated Query in C#, VB and anyone else that wants to play along.