Cω (C-Omega) ist eine von Microsoft Research entwickelte experimentelle Programmiersprache. Diese ist eine Weiterentwicklung von C# mit Fokus auf die Verarbeitung von XML und Tabellen (ehemals X# und Xen) und Parallelisierung (ehemals Polyphonic C#).[1]
Cω | |
---|---|
Objektorientierte Programmiersprache | |
Basisdaten | |
Paradigmen: | multiparadigmatisch: strukturiert, imperativ, objektorientiert, funktional |
Erscheinungsjahr: | 2003 |
Entwickler: | Microsoft Research |
Aktuelle Version: | 1.0.2 (28. Oktober 2004) |
Typisierung: | statisch, stark |
Beeinflusst von: | C#, Polyphonic C# |
Beeinflusste: | LINQ, Joins Concurrency Library |
http://research.microsoft.com/en-us/um/cambridge/projects/comega/ |
Konzepte
BearbeitenCω ist im Kern eine objektorientierte Programmiersprache. Als wichtigste Neuerung gegenüber C# können Spracherweiterungen angesehen werden, die die Handhabungen von Datenstrukturen vereinfachen. Beispielsweise können Strukturen direkt durch XML beschrieben, erzeugt und übergeben werden:
foreach (mw in Messwerte) // Gibt einen Return an { yield return <result>+ // Wert-Ausgabe {mw.ID} {mw.Wert} {mw.Kanal} // Wert-Ausgabe </result>; }
Ebenso sind Elemente aus funktional orientierten Programmiersprachen eingeflossen, hierzu zählen die Unterstützung von anonymen Funktionen und Datenstrukturen. Hier ein Beispiel einer anonymen Datenstruktur:
new(int i = 12, "Bemerkung", new Messung(1, 12.0))
Schließlich werden durch direkte Syntaxelemente asynchrone Prozeduren und Parallelisierung von Algorithmen unterstützt.
Kritik
BearbeitenCω zeigt viele Probleme experimenteller Programmiersprachen: Die Syntax sowie der Sprachumfang dürfte viele Programmierer überfordern, zum anderen existiert kaum einführende Literatur. Cω dürfte daher eher als Proof of Concept gelten.
Übernahme ins .NET Framework
BearbeitenDie oben erwähnte Verarbeitung von relationalen Datenstrukturen wurde als LINQ ins .NET Framework 3.5 aufgenommen. Die ebenfalls oben erwähnte Parallelisierung findet sich im Microsoft Robotics Studio als CCR (Concurrency and Coordination Runtime) und ab dem .NET Framework 3.5 in den Parallel Extensions wieder.[2]
Weblinks
Bearbeiten- Cω-Website (englisch)
- MSDN: An Overview of Cω (englisch)