Nick Benton and Gavin Bierman, scientists from Microsoft Research in
“Concurrent programming is notoriously difficult,”
As well as dealing with concurrency, many developers have to write applications that interoperate with databases and process XML data.
“Typical enterprise applications have a relational database at the back, a middle tier of business logic written in C#, and an XML or HTML presentation tier at the front,” Bierman said. “That’s three different data models, and people spend a lot of time and effort just converting between them.”
C Omega bridges the gap between Relational, Object, and XML data access by creating a type system that is a combination of all three data models. Instead of adding built-in XML or relation types to the C# language, the researchers have made certain general changes to the C# type system that make it more conducive for programming against both structured relational data and semi-structured XML data.
A compiler for the language is available to the public. It can be downloaded from http://research.microsoft.com/Comega