Frage

Ich lese diese Geschichte auf Slashdot heute, wo sie ein ankündigen neue parallele Programmiersprache von Microsoft.

Was ist das neue Programmiersprache zu? Er sagt Parallel Programming. Aber wird es eine Alternative / Ersatz für MPI, PVM, OpenMP und ähnliche parallele Bibliotheken / Frameworks sein?

Alle Gedanken?

War es hilfreich?

Lösung

Axum ist eine Sprache, in so strukturiert, als sicher und performant gleichzeitige Programmierung einfacher zu machen. Die Konzepte der Sprache modelliert, um die Notwendigkeit zu vermeiden, um die Thread-Synchronisation explizit über die Verwendung von lock (in C #), Monitor, ReaderWriterLockSlim, etc ...

zu machen

Es könnte argumentiert, dass viele der Ideen in Axum im Erlang Programmiersprache gewesen seit 1986 - eine Sprache, die von Forschern entwickelt, arbeitet in Schweden für Ericsson auf Telefon-Switches laufen und damit für massiven Durchsatz unter sehr gleichzeitiger Belastung zu unterstützen, war so wichtig sie in die Sprache entwickelt wurde. Während viele der Ideen in Axum nicht neu sind, sind sie sicherlich neu in .NET und der CLR (zumindest auf der Sprachebene.)

Vorhandene .NET-Bibliotheken, die einige dieser Ideen enthalten sind:

Wie Erlang, Message Passing ist ein zentrales Konzept in Axum. Wie Erlang ist Axum weitgehend gleichgültig, ob der Empfänger der Nachricht wird im Prozess oder aus der Ferne befindet. Axum bietet derzeit die Integration mit WCF.

Axum unterscheidet sich von den Bibliotheken in oben erwähnten, dass es umfasst die Unterstützung für diese Konzepte auf der Sprachebene, nicht nur durch die Verwendung von Bibliotheken. Die Angebote Axum Compiler nicht nur mit der Axum Sprache, sondern auch mit einigen experimentellen Erweiterungen der Sprache C # selbst; nämlich die isolated und readonly Schlüsselwörter.

Das Hinzufügen von neuen Funktionen einer Sprache ist nicht etwas, leicht genommen werden. Spec # ist eine andere C # -superset Sprache unter MSR (unabhängig von Gleichzeitigkeit). Wie für -Code Contracts .NET 4.0 mit Unterstützung gesehen, Microsoft in hat sich entschieden, eine neue API hinzugefügt, anstatt neue Spracherweiterungen zu begünstigen (diese Vorteile Nutzer aller Sprachen auf der CLR). jedoch im Fall von Axum, gibt es nicht genug Reichtum in der C # 3.0 Sprache, die Arten von Unveränderlichkeit Zwängen der Arten erforderlich auszudrücken und ihre Mitglieder für wirklich sichere gleichzeitige Programmierung.

Nachdem in Erlang dabbled und mag, was ich gesehen habe, bin ich sehr gespannt, wo Axum uns nehmen könnte. Einige der Erweiterungen der Sprache C # durch das Team vorgeschlagen sind nützlich für die regelmäßigen C # -Projekten zu.

Schließlich würde Ich mag darauf hinweisen, dass es mehr zu Erlang ist als nur ein gutes Concurrency-Modell. Erlang ist eine strikte funktionale Programmiersprache. Er unterstützt Hot-Swap-Code, was bedeutete, dass ein System aufgerüstet werden kann, ohne es überhaupt (ein wünschenswertes Merkmal einer Telefonvermittlung oder anderen 24x7-System) gestoppt. Ich hörte einen Bericht von einer großen britischen Telekommunikationsorganisation einen Schalter für ein Jahr laufen und nur in dieser Zeit zu routen vier Anrufe scheitern. Erlang hat andere Eigenschaften wie Remote Ausnahme als auch Handhabung.

Andere Tipps

Sieht für mich wie Sie den Nagel auf den Kopf in Ihrer Frage getroffen. Sieht aus wie die Microsoft.NET Alternative zu einigen der Sprachen / Frameworks Sie erwähnt. Werfen Sie einen Blick auf dem Programmierhandbuch hier:

Axum Programmierhandbuch

Sieht aus wie es gut mit dem Rest des .NET Framework spielen. Es könnte einige interessante C # / F # / Axum Wechselwirkungen eröffnen ...

Axum ist der neue Name für Microsofts „Maestro“ Sprache, die ursprünglich eine Forschungs Sprache für die parallele Programmierung war aber erst vor kurzem „befördert“ zu einer First-Class-Sprache ist.

Ein bisschen mehr Informationen über Channel 9 hier:

Maestro: A Managed Domain Specific Language Für Concurrent Programming

... und auf der offiziellen Axum Team-Blog .

Hier ist ein Update über den Stand der Axum . Apparrently einige der Gleichzeitigkeit Features werden nicht mehr Teil von C # / VB.Net.

  

... die Konzepte rund um sichere Parallelität und   agentenbasierte Programmierung wurden als zu weit außerhalb der von vielen gesehen   Mainstream wird jetzt in Sprachen wie C # und VB angenommen. Die Idee von   Axum war nicht, diese Konzepte auf Allzweck- Sprachen zu zwingen, so   diejenigen von uns, die Arbeit an Axum haben, sind nicht überrascht.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top