C# 3.0 makes OCL redundant! - Akehurst, David; Howells, Gareth; Scheidgen, Markus; McDonald-Maier, Klaus (Electronic Communications of the EASST, 2007)
Other than its "platform independence" the major advantages of OCL over traditional Object Oriented programming languages has been the declarative nature of the language, its powerful navigation facility via the iteration operations, and the availability of tuples as a first class concept. The recent offering from Microsoft of the "Orcas" version of Visual Studio with C# 3.0 and the Linq library provides functionality almost identical to that of OCL. This paper examines and evaluates the controversial thesis that, as a result of C# 3.0, OCL is essentially redundant, having been superseded by the incorporation of its advantageous features into a mainstream programming language.