ComegaLogo.png
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
Einflüsse: C#, Polyphonic C#
Beeinflusste: LINQ, Joins Concurrency Library
http://research.microsoft.com/en-us/um/cambridge/projects/comega/

(C-Omega) ist eine von Microsoft Research entwickelte experimentelle Programmiersprache. [1] Diese ist an C++ und C# [2] angelehnt, wurde jedoch auf die Verarbeitung von relationalen Datenstrukturen und Parallelisierung hin optimiert.

Inhaltsverzeichnis

Konzepte

Cω 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)
{
    yield return 
        <result>
            {mw.ID}
            {mw.Wert}
            {mw.Kanal}
        </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

Cω zeigt viele Probleme experimenteller Programmiersprachen: die Syntax sowie der Sprachumfang dürften viele Programmierer überfordern, zum Anderen existiert kaum einführende Literatur. Cω dürfte eher als Proof of Concept gelten.

Übernahme ins .NET-Framework

Die 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. [3]

Weblinks

Einzelnachweise

  1. http://www.dotnetpro.de/articles/onlinearticle1737.aspx
  2. http://it-republik.de/dotnet/dotnet-magazin-ausgaben/.NET-Sprachen-000042.html
  3. http://cst.mi.fu-berlin.de/teaching/SS07/19554-S-TI/reports/schroeter07concurrency.pdf

Wikimedia Foundation.

Игры ⚽ Нужно сделать НИР?

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”