ObjectSpaces -> DLinq


Soon after Anders + Don demo in PDC keynote, several folks asked me about ObjectSpaces. It was one of my favorite projects (notice the past tense). But it is time to talk about its future rather than past. The future of ObjectSpaces is DLinq. We used the feedback we got on ObjectSpaces to design DLinq as a better way to query database to get objects and to persist them back to the database. I know many of you wanted to see ObjectSpaces ship (I did too). But the transformation is for better. What are the differences?


1. Language integrated query. No more OPath strings and query execution APIs. Compiler and IDE support for queries like you get for a normal language feature.
2. Streamlined (and much smaller) API surface area
3. Vastly simpler mapping – no mapping files and additional tools to validate mapping.


So try the LINQ preview, play around with language extensions, DLinq and XLinq and tell us what you think.


If you are at PDC, stop by at the Languages and Tools track lounge or the Hands on Labs area and try the bits and tell us what you think.


 


Comments (17)

  1. Duncan Godwin says:

    Is there any news on what happened to the concurrency extensions in Comega?

  2. Jeff Davis says:

    How does one persist objects back to the database using DLinq as was possible in ObjectSpaces?

    Also, how do you load relationships between objects in DLinq (i.e. Customer has Orders, i.e. Customer.Orders[0].MethodName(), and I want to load all customers and their associated orders and have my program understand the relationship)?

  3. Francois Tanguay says:

    Object Spaces supported CRUD on data while DLinq only supports Read.

  4. According to this post from Dinesh, DLinq is the realization of what was once known as ObjectSpaces….

  5. According to this post from Dinesh, DLinq is the realization of what was once known as ObjectSpaces….

  6. JD says:

    What does the "D" in "DLinq" stand for?

  7. LINQ and DLINQ are very powerful

    technologies.  DLINQ seems very similar to Gentle.NET which we…

  8. Don Awalt says:

    While Linq looks to add a very useful feature to C# and VB, one thing puzzled me that I did not hear at PDC — is it expected that this would replace calling of stored procedures with inline SQL queries?

    I don’t think that’s practical for the enterprise. I saw Linq as useful for local stores, even datasets pulled down. But there’s no way this replaces the security and control needed for production, enterprise databases.

    So – if Linq does not get access to stored procedures, and object -> relational mapping needs to have access to sp’s, what’s the picture of how we will get there?

  9. Mark Kamoski says:

    IMHO…

    I often wish that Microsoft would not publish betas, pre-releases, or other teasers until they have committed to at least releasing Version 1 of the product.

    Even still, if they feel compelled to share every flight of fancy, then they should put big bright bold letters on the thing, saying “THIS FEATURE MAY DIE BEFORE IT IS EVEN RELEASED SO DON’T INVEST TOO MUCH TIME OR ENERGY INTO IT”. Rather, as with most MS marketing-driven technology, they present it as “the next best thing coming to a machine near you so get started now and be ahead of the game”.

    I am VERY disappointed that ObjectSpaces and OPath are not in VS.NET 2005. IMHO, that was an important, (perhaps THE most important), addition to VS.NET 2005.

    Anyway, I guess they have good reasons– at least I hope they do. I give them the benefit of the doubt; but, do I have any choice? I realize that MS holds all the cards in such cases but, really, do they have to hit the work-a-day developer over the head with this fact so often?

    One can understand and appreciate the ability to say “we are going down a wrong path here” and such objectivity is laudable. Everyone makes mistakes. No one is perfect. However, in the case of ObjectSpaces, there has been no complelling evidence presented that it would not have worked or that it was not a good idea.

    My prediction is that Linq and Dlinq, while also good ideas, will now be pushed out further and will not see the light of day until 2007 or 2008, if at all. What a shame.

    What should MS have done?

    What MS should have done is simply released ObjectSpaces as-is. Even if it were not feature complete, it could easily have been packaged, stabilized, and pushed out the door. Refactor it later, as should be the case. For example, they could have positioned the architecture of ObjectSpaces such that it could internally use Linq or DLinq later, if needed, if and when those technologies are ready. There seems to have been nothing significant stopping MS from releasing ObjectSpaces, except MS itself.

    This all seems to be another case of dropping a “good enough for now solution” in the hopes of developing “a perfect solution”. As we all know, the perfect solution is never delivered and GEFN is the order of the day in the software development world.

    There is a great need for integrated OR-mapping technology in VS.NET and MS is already quite late in getting to market. It should have been, (and could have been), made as an add-in for VS.NET years ago. Many other, much more humbly funded, development teams have already solved this problem sufficiently; but, the problem is that such proprietary implementations hinder standardization, which hurts integration, enterprise solutions, and so on.

    Anyway, I guess we will “see what happens”.

    The author says…

    “try the LINQ preview, play around with language extensions, DLinq and XLinq and tell us what you think”

    …well, I have thought about it and…

    What I think is that MS should release ObjectSpaces, now, today, and don’t even wait for the release of VS.NET 2005, (whenever that may be). Make it an add-in.

    Another part of what I think is that I am inclined to answer the call to “try the LINQ preview” with the simple questions…

    –What is this a “preview” of, something that WILL BE or something that MIGHT BE?

    –What are the reasons that one should try this “preview”?

    Don’t get me wrong here, please. I love MS products. I have used them all my life. I think they are generally the top-of-the-line. However, I do find it a bit silly when something is presented as a “beta product” (or some such jargon) when it should be presented as “one possible solution among many for a product that may or may not ever be released”.

    What would be the best course of action for MS now?

    Again– humbly admit a mistake, push ObjectSpaces out the door, and then move on to bigger and better things.

    HTH.

    Thank you.

  10. Matt says:

    MSDN seems to imply ObjectSpace is coming in WinFS – http://msdn.microsoft.com/data/objectspaces.aspx.

  11. Weddings says:

    Soon after Anders + Don demo in PDC keynote, several folks asked me about ObjectSpaces. It was one of my favorite projects (notice the past tense). But it is time to talk about its future rather than past. The future of ObjectSpaces is DLinq. We used

  12. Previously: Architecting Linq to SQL, part 9 End of the line This is intended to be the last part in

  13. Previously: Architecting Linq to SQL, part 9 End of the line This is intended to be the last part in

  14. Previously: Architecting Linq to SQL, part 9 End of the line This is intended to be the last part in

  15. Tracy.Bai says:

    Tobehonest,IhavetosaythatmynextprojectwilluseNHibernateforitspersistencetechnology…