Open Source im professionellen Einsatz
Linux-Magazin 04/2017
© Melory, 123RF

© Melory, 123RF

Nebenläufige Programme entwickeln mit Pony

Mit Pferdestärke

Die statisch getypte und objektorientierte Programmiersprache Pony trabt auf eher abseitigen Pfaden, um mit sicherem und hochperformantem Code für nebenläufige Anwendungen ihre Fans zu beglücken.

179

Indem die noch junge Programmiersprache Pony [1], deren Entwicklung 2011 am Imperium College London begann, das Aktor-Modell und Capabilities verwendet, gehören Deadlocks und Data Races der Vergangenheit an. Der Artikel erklärt Pony anhand der Beispielanwendung aus Abbildung 1. Ist diese erfolgreich kompiliert, protokolliert sie in einem einzeiligen Report den Verbrauch an Farben bei Malerarbeiten.

Abbildung 1: Oben kompiliert Pony erfolgreich, unten gibt blue-horses den Farbverbrauch wieder.

Zunächst wärmt Abbildung 2 aber Probleme mit der nebenläufigen Programmierung unter C und C++ auf. Das hypothetische Programm lagert zur Performancesteigerung Aufgaben in konkurrierende Threads aus, die auf den geteilten Speicherbereich zugreifen. Damit die Threads die Daten nicht unkontrolliert bearbeiten, sie wechselseitig verfälschen und Data Races erzeugen, regeln Locks den Zugriff. Blöd nur, wenn die sich durch Programmierfehler ineinander verhaken und zu Deadlocks werden.

Abbildung 2: Das Lock gewährt dem Thread oben links exklusive Schreibrechte.

Die bei der Implementierung auftretenden Probleme fasst Tabelle 1 sprachübergreifend zusammen. Der Vergleich mit Java ist obligatorisch, da die Programmiersprache einen der erfolgreichsten Verbesserungsansätze für C und C++ anbietet. Ein Vergleich mit Rust [2] passt ebenfalls, weil sich auch der Jungspund unter den Sprachen bemüht, sicheren und schnellen Code für nebenläufige Anwendungen zu produzieren.

[...]

Linux-Magazin Online veröffentlicht alle Print-Artikel, die seit 2001 im Linux-Magazin erschienen sind. Damit steht Ihnen ein hochwertig bestücktes Archiv bis hin zu den Beiträgen der aktuellen Ausgabe online zur Verfügung. Die über 3000 Artikel sind größtenteils kostenlos zugänglich, nur für Beiträge (als PDF) der jüngsten zehn Linux-Magazine ist eine kleine Gebühr fällig.

Diesen Artikel als PDF kaufen

Express-Kauf als PDF

Umfang: 5 Heftseiten

Preis € 0,99
(inkl. 19% MwSt.)

Linux-Magazin kaufen

Einzelne Ausgabe
 
Abonnements
 
TABLET & SMARTPHONE APPS
Bald erhältlich
Get it on Google Play

Deutschland

Ähnliche Artikel

  • Akka stellt Release 1.0 fertig

    Mit dem Akka-Framework können Scala- wie auch Java-Programmierer zuverlässige und performante verteilte Anwendungen schreiben.

  • Pacemaker

    Macht ein Clusterknoten schlapp, startet die HA-Software Pacemaker bekanntermaßen die dabei mitgerissenen Dienste auf einem anderen Knoten neu. Wenig bekannt ist des Schrittmachers Dienste-Monitoring, mit dessen Hilfe der Clustermanager hängenden Diensten einzeln auf die Beine hilft.

  • Scala 2.10.0: Promises, Futures und Akka-Actors

    Die objektorientierte und funktionale Programmiersprache Scala ist in Version 2.10.0 mit einigen Neuerungen erhältlich.

  • Open Source All Stars

    Auf der OSCON traf sich das Who's who der Open-Source-Szene. Angst vor proprietärer Software kam aber nicht auf, schließlich ließ man sich sogar von Microsoft das Mittagessen sponsern. Dass unserem Mann in Portland, dem Autor des Perl-Snapshots, aber vor allem eines wichtig war, sei ihm verziehen.

  • C++11

    Der Smart Pointer gilt als der klügste seiner Art in C++11. Sein Fachgebiet ist die elegante Garbage Collection, manchmal muss aber sein kleiner Bruder Weak Pointer mithelfen.

comments powered by Disqus

Ausgabe 11/2017

Digitale Ausgabe: Preis € 6,40
(inkl. 19% MwSt.)

Stellenmarkt

Artikelserien und interessante Workshops aus dem Magazin können Sie hier als Bundle erwerben.