Experimental software

Nick Benton and Gavin Bierman, scientists from Microsoft Research in Cambridge, have designed an experimental research language that extends C# with new features for writing concurrent programs.

Nick Benton and Gavin Bierman, scientists from

Research in

, have designed an experimental research language called C Omega that extends C# with new features for writing concurrent programs.

“Concurrent programming is notoriously difficult,” Benton said. “C Omega makes it significantly easier. We have a simple model of concurrency that works both for multiple threads on a single machine and for dealing with asynchronous communication between multiple machines,” he added.

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.

Register now to continue reading

Thanks for visiting The Engineer. You’ve now reached your monthly limit of news stories. Register for free to unlock unlimited access to all of our news coverage, as well as premium content including opinion, in-depth features and special reports.  

Benefits of registering

  • In-depth insights and coverage of key emerging trends

  • Unrestricted access to special reports throughout the year

  • Daily technology news delivered straight to your inbox