Neue Programmiersprache Pony: Aktorenbasiert, Objektorientiert und stark typisiert

Michael Thomas

© Shutterstock/oceanwhisper

Die quelloffene Sprache Pony zielt insbesondere auf die Entwicklung skalierbarer Software für Mehrkernprozessoren ab. Die Features drehen sich laut den Entwicklern in erster Linie darum, Korrektheit zu garantierten, die Geschwindigkeit zu verbessern und die Programmierung zu vereinfachen.

Pony ist eine mit C kompatible, Aktorenbasierte, Objektorientierte und stark typisierte Programmiersprache. Die Nebenläufigkeit zeigt sich in der asynchronen Versendung von Nachrichten zwischen den Aktoren sowie der dynamische Erstellung neuer Aktoren; eintreffende Nachrichten werden dabei in einer Aktoren-Mailbox gepuffert.

Als eine wichtige Eigenschaft von Pony gilt die kausale Nachrichtenübermittlung: Jede Nachricht ist ein „Effekt„, und zuvor empfangene oder versendete Nachrichten sind die Ursache dieses Effekts. Durch die kausale Nachrichtenübermittlung soll sichergestellt werden, dass die Ursache einer Nachricht in einer Aktoren-Mailbox immer vor ihrem Effekt eingereiht wird. Diese Eigenschaft ist elementar wichtig für ein weiteres Feature von Pony, das sich einer gewissen Exklusivität rühmen kann: die voll nebenläufige Garbage Collection von Aktoren. Da Pony eine ahead-of-time kompilierte Sprache ist, können erstellte Programme immer wieder ausgeführt werden, ohne dass hierfür ein Compiler oder eine virtuelle Maschine nötig wäre. Zeiger und Pufferüberläufe soll es ebenso wenig geben wie Deadlocks, außerdem gilt die Sprache als typsicher. Auch Laufzeitausnahmen soll es nicht geben.

Anwendungen aufspalten

Die Motivation der Sprachentwickler für die auf der Übermittlung von Nachrichten basierende Programmierung liegt darin, die Aufspaltung von Anwendungen in sich geschlossene autonome Komponenten zu fördern. Da die Komponenten voneinander unabhängig sind und man sich den Entwicklern zufolge um Data Races keine Gedanken machen muss, verspricht Pony letztlich eine einfacherere Entwicklung und eine bessere Wartbarkeit. Da gleichzeitig die Low-Level-Synchronisation für parallele Anwendungen nicht vom Programmierer übernommen werden muss, soll sich eine je nach Laufzeitimplementierung und Typsystem verschieden stark ausfallende Effizienzsteigerung ergeben.

Das zur Zeit in Version 0.1.0 vorliegende Pony unterstützt die Betriebssysteme OS X, Linux und Windows. Texteditoren können beliebige zum Einsatz kommen, für den “hackbaren” Text- und Quellcode-Editor Atom sowie Sublime Text stehen jedoch spezielle Plug-ins zur Verfügung. Ein Support für Vim und Micrsoft Visual Studio soll schon bald folgen. Als Debugger stehen LLDB und GDB zur Verfügung.

Aufmacherbild: My Highland Pony von Shutterstock / Urheberrecht: oceanwhisper

Verwandte Themen:

Geschrieben von
Michael Thomas
Michael Thomas
Michael Thomas studierte Erziehungswissenschaft an der Johannes Gutenberg-Universität Mainz und arbeitet seit 2013 als Freelance-Autor bei JAXenter.de. Kontakt: mthomas[at]sandsmedia.com
Kommentare

Hinterlasse einen Kommentar

Hinterlasse den ersten Kommentar!

avatar
4000
  Subscribe  
Benachrichtige mich zu: