Cω
Cω | |
---|---|
Object-oriented programming language |
|
Basic data | |
Paradigms : | multi-paradigmatic: structured , imperative , object-oriented , functional |
Publishing year: | 2003 |
Developer: | Microsoft Research |
Current version : | 1.0.2 (October 28, 2004) |
Typing : | static , strong |
Influenced by: | C # , Polyphonic C # |
Affected: | LINQ , Joins Concurrency Library |
http://research.microsoft.com/en-us/um/cambridge/projects/comega/ |
Cω ( C-Omega ) is an experimental programming language developed by Microsoft Research . This is a further development of C # with a focus on the processing of XML and tables (formerly X # and Xen ) and parallelization (formerly Polyphonic C # ).
Concepts
Cω is essentially an object-oriented programming language . Language extensions that simplify the handling of data structures can be seen as the most important innovation compared to C #. For example, structures can be described, generated and transferred directly using XML :
foreach (mw in Messwerte) // Gibt einen Return an { yield return <result>+ // Wert-Ausgabe {mw.ID} {mw.Wert} {mw.Kanal} // Wert-Ausgabe </result>; }
Elements from function- oriented programming languages have also been incorporated, including support for anonymous functions and data structures. Here is an example of an anonymous data structure:
new(int i = 12, "Bemerkung", new Messung(1, 12.0))
Finally, asynchronous procedures and parallelization of algorithms are supported by direct syntax elements .
criticism
Cω shows many problems of experimental programming languages: The syntax and the range of languages should overwhelm many programmers, and on the other hand there is hardly any introductory literature. Cω is therefore more likely to be regarded as a proof of concept .
Adoption into the .NET Framework
The processing of relational data structures mentioned above was included as LINQ in the .NET Framework 3.5. The parallelization also mentioned above can be found in the Microsoft Robotics Studio as CCR ( Concurrency and Coordination Runtime ) and from .NET Framework 3.5 in the parallel extensions .
Web links
- Cω website (English)
- MSDN: An Overview of Cω (English)