(2006-08-10) Neward Orm Vietnam

Ted Neward says that "ORM is the Vietnam of Computer Science". His conclusions/options make it clear this isn't really a huge thing, it's just a warning for people who are overly simplistic (e.g. a Ruby On Rails developer who just trusts that ORM will work, without really understanding databases). But his options covering some ways of bridging the gap were interesting:

  • Over the last several years, however, interest in Scripting Language-s with far stronger set and list support, like Ruby, has sparked the idea that perhaps another solution is appropriate: bring relational concepts (which, at heart, are set-based) into mainstream programming languages, making it easier to bridge the gap between "sets" and "objects". Work in this space has thus far been limited, constrained mostly to research projects and/or "fringe" languages, but several interesting efforts are gaining visibility within the community, such as functional/object hybrid languages like Scala or F#, as well as direct integration into traditional O-O languages, such as the LINQ project from Microsoft for C# and Visual Basic.

  • Instead of relying on language or library designers to solve this problem, developers take a different view of "objects" that is more relational in nature, building domain frameworks that are more directly built around relational constructs. For example, instead of creating a Person class that holds its instance data directly in fields inside the object, developers create a Person class that holds its instance data in a Row Set (Java) or Data Set (C#) instance, which can be assembled with other Row Sets/Data Sets into an easy-to-ship block of data for update against the database, or unpacked from the database into the individual objects. Looks like I need to dig back into Martin Fowler's book.


Edited:    |       |    Search Twitter for discussion