Citrine: Eine neue Allzweck-Programmiersprache für unixoide Systeme

Michael Thomas

© Shutterstock.com/Nastya22

Mit Citrine hat eine neue Allzweck-Programmiersprache für Unix-ähnliche Betriebssysteme das Licht der Welt erblickt. Die Besonderheit der Sprache besteht in der Kombination von Nachrichten à la Smalltalk und Prototypen.

Citrine stammt aus der Feder des Anwendungsentwicklers und Softwarearchitekten Gabor de Mooij, der in der Vergangenheit bereits durch die esoterische Programmiersprache MechaniQue sowie durch RedBeanPHP, eine quelloffene ORM-Bibliothek für PHP, in Erscheinung getreten ist.

Citrine ist eine Allzweck-Programmiersprache für Unix-ähnliche Betriebssysteme, die vor allem auf Lesbarkeit und Wartbarkeit abzielt. Die Lesbarkeit soll dabei durch syntaktischen und konzeptionellen Minimalismus erreicht werden. Citrine ist stark von den objektorientierten Programmiersprachen Smalltalk und Self inspiriert, bietet de Mooij zufolge jedoch einige Besonderheiten, die sie deutlich von beiden abhebt.

Citrine Basics

So behandelt Citrine wie auch Smalltalk alles als Objekte, an die Nachrichten gesendet werden. Die Sprache bietet fünf Literale: Nil, die booleschen Variablen True und False, Zahlen, Strings (z. B. ‚Hello‘) und Codeblöcke (nach dem Muster { ...parameters... | ...code... }). Anders als Smalltalk nutzt Citrine kein Semikolon, um mehrere Nachrichten miteinander zu verketten; statt dessen kommt das Komma zum Einsatz. Entwickler können somit Unix-ähnliche Pipelines schreiben. Im Gegensatz zu Smalltalk verfügt Citrine nicht über das Konzept einer Klasse, sondern ähnelt durch seine Nutzung von Prototypen (Vererbung) in dieser Hinsicht eher Self und JavaScript.

Zu den weiteren Features der Sprache zählen u. a. ihre UTF-8-Konformität (d. h. sowohl Objekte als auch Nachrichten können aus Unicode-Symbolen bestehen) und die automatische Speicherbereinigung. Des Weiteren kann der Kern von Citrine via Plug-ins erweitert werden. Statt auf lexikalisches Scoping greift Citrine zudem auf – nach Aussage von de Mooji lesbares – dynamisches Scoping zurück, globale Variablen und Dependency Injection werden also nicht benötigt.

Citrine ist komplett quelloffen und steht unter BSD-Lizenz. Weiterführened Informationen (kleinere Code-Beispiele inklusive) finden sich im Rahmen des offiziellen Internetauftritts. Auf Reddit hat sich bereits jetzt eine lebhafte Diskussion rund um die Sprache entsponnen.

Aufmacherbild: citrine semigem geode crystals von Shutterstock / Urheberrecht: Nastya22

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
400
  Subscribe  
Benachrichtige mich zu: