Lassen sich Probleme einer bestimmten Anwendungsdomäne mit einer bestehenden Programmiersprache nicht angemessen lösen, muss eine neue Sprache her. Neben der richtigen und strukturierten Herangehensweise muss einem eines klar sein: die Neuentwicklung macht auf lange Sicht viel Arbeit.
Da bestehende Programmiersprachen nicht auf die Ansprüche verteilter, Cloud-nativer Anwendungen ausgelegt waren, hat WSO2 die Open-Source-Sprache Ballerina erdacht.
(Bild: WSO2)
Der Zweck einer Programmiersprache ist es, eine allgemeine Lösung einer Problemklasse beschreiben zu können, welche auf einem Computer ausgeführt wird. Die Beschreibung einer allgemeinen Lösung heißt Programm.
Hierbei repräsentiert eine Problemklasse im Normalfall eine große Sammlung ähnlicher konkreter Probleme, die sich im Wesentlichen durch verschiedene Parameter unterscheiden. Jedes dieser konkreten Probleme wird durch das Programm gelöst, d.h. ein Computer führt das Programm aus, wobei das Programm die Parameter, die das konkrete Problem charakterisieren, beim Start der Ausführung als Eingabedaten erhält.
Warum man immer mehrere Programmiersprachen braucht
Der Einsatzbereich einer Programmiersprache ist durch eine Reihe von Aspekten charakterisiert. So unterstützt eine Programmiersprache zunächst einmal einen bestimmten Programmierstil, z.B. prozedural [etwa C], objektorientiert [etwa Java] oder logikbasiert [etwa Prolog]. Auch orientiert sich eine Programmiersprache oft an einer Anwendungskategorie, z.B. systemnah [etwa C], Geschäftslogik-orientiert [etwa COBOL], Mathematik-orientiert [etwa Fortran]. Unterschiedliche Programmiersprachen haben auch unterschiedliche Effizienzen, mit der sie ausgeführt werden.
Diese verschiedenen Charakteristika sind zudem nicht statisch, es kommen etwa neue hinzu, andere verlieren an Bedeutung. So ist der Energieverbrauch von Programmiersprachen in jüngster Zeit ein immer wichtigeres Kriterium. Auch entstehen neue Merkmale durch den Bedeutungszuwachs bestimmter Technologien wie etwa dem Cloud Computing oder durch neue Architekturstile wie etwa den Microservices.
Als Konsequenz können die bekannten Programmiersprachen nicht alle Kombinationen dieser (dynamischen) Eigenschaften abdecken – und somit entsteht die Notwendigkeit für neue Programmiersprachen.
Gründe für die Entwicklung einer neuen Programmiersprache
Ein typischer Grund für die Entwicklung einer Programmiersprache ist, dass mit einer bislang genutzten Sprache Probleme einer bestimmten Anwendungsdomäne nicht adäquat gelöst werden können. Solche Feststellungen können aus der Praxis kommen oder aber auch akademisch motiviert sein. Somit werden andere Programmiersprachen gesucht, um diese spezifischen Probleme zu lösen.
Eine direkte Integration verschiedener Cloud- und Webdienste, hier GitHub und Google Sheets, ist eine der Stärken von Ballerina.
(Bild: WSO2)
Findet sich keine geeignete Programmiersprache, ist dies ein starker Indikator, entweder eine bereits existierende Sprache zu erweitern oder eine neue Programmiersprache zu entwickeln. Hierzu werden nun die neuen Charakteristika bzw. die neue Kombination von Charakteristika, die diese Art von Problemen aufzeigen, identifiziert. Anschließend wird analysiert, ob eine existierende Programmiersprache erweitert werden kann, um die identifizierten Defizite zu beheben.
Bei dieser Analyse ist sehr wichtig festzustellen, ob durch die Berücksichtigung neuer Charakteristika die bislang abgedeckten Merkmale der betrachteten existierenden Programmiersprache negativ beeinflusst werden, die existierende Sprache also in ihrer angestammten Anwendungsdomäne schlechter nutzbar wird. Wenn das der Fall ist, kommt die Erweiterung einer existierenden Programmiersprache nicht in Frage. Es muss also eine neue entwickelt werden.
Selbstverständlich kommen für die Analyse auf ihre Erweiterbarkeit nur solche Programmiersprachen in Frage, die auch frei zu Verfügung stehen. Sprachen, die etwa durch Patente oder ähnliches geschützt sind, werden von vornherein ausgeschlossen.
Herangehensweise
Zunächst muss einem bewusst sein, dass die Entwicklung einer neuen Programmiersprache „Blut, Schweiß und Tränen“ über eine geraume Zeit bedeutet. Und man benötigt ein Team von hochspezialisierten Personen, die zum einen die Charakteristika der Anwendungsdomäne, die die Programmiersprache adressieren soll, zutiefst durchblicken und die zum anderen mögliche Sprachelemente von Programmiersprachen verstehen, sowie deren unterschiedliche Umsetzungsmöglichkeiten nebst deren Vor- und Nachteilen.
Anfänglich sollte das Team klein und sehr erfahren sein. Es legt die Grundlagen der neuen Programmiersprache fest und erstellt einen ersten Entwurf der Spezifikation. Wichtig dabei ist, dass permanent überprüft wird, dass die Probleme der Anwendungsdomäne tatsächlich stimmig gelöst werden können, d.h. die Sprachelemente notwendig und hinreichend sind.
Nachdem der erste Entwurf steht, sollte das Team vergrößert werden, um weitere Details der Programmiersprache auszuarbeiten und die Angemessenheit zur Lösung weiterer Probleme der Anwendungsdomäne sicherzustellen. Parallel dazu muss die Ausführungsumgebung der Programmiersprache erstellt und deren Effizienz gesichert sein. Denn Probleme bei der Realisierung der Ausführungsumgebung haben Einfluss auf die Sprachelemente. Außerdem muss eine entsprechende Werkzeugumgebung für die Nutzer der Programmiersprache entwickelt werden.
Stand: 08.12.2025
Es ist für uns eine Selbstverständlichkeit, dass wir verantwortungsvoll mit Ihren personenbezogenen Daten umgehen. Sofern wir personenbezogene Daten von Ihnen erheben, verarbeiten wir diese unter Beachtung der geltenden Datenschutzvorschriften. Detaillierte Informationen finden Sie in unserer Datenschutzerklärung.
Einwilligung in die Verwendung von Daten zu Werbezwecken
Ich bin damit einverstanden, dass die Vogel IT-Medien GmbH, Max-Josef-Metzger-Straße 21, 86157 Augsburg, einschließlich aller mit ihr im Sinne der §§ 15 ff. AktG verbundenen Unternehmen (im weiteren: Vogel Communications Group) meine E-Mail-Adresse für die Zusendung von Newslettern und Werbung nutzt. Auflistungen der jeweils zugehörigen Unternehmen können hier abgerufen werden.
Der Newsletterinhalt erstreckt sich dabei auf Produkte und Dienstleistungen aller zuvor genannten Unternehmen, darunter beispielsweise Fachzeitschriften und Fachbücher, Veranstaltungen und Messen sowie veranstaltungsbezogene Produkte und Dienstleistungen, Print- und Digital-Mediaangebote und Services wie weitere (redaktionelle) Newsletter, Gewinnspiele, Lead-Kampagnen, Marktforschung im Online- und Offline-Bereich, fachspezifische Webportale und E-Learning-Angebote. Wenn auch meine persönliche Telefonnummer erhoben wurde, darf diese für die Unterbreitung von Angeboten der vorgenannten Produkte und Dienstleistungen der vorgenannten Unternehmen und Marktforschung genutzt werden.
Meine Einwilligung umfasst zudem die Verarbeitung meiner E-Mail-Adresse und Telefonnummer für den Datenabgleich zu Marketingzwecken mit ausgewählten Werbepartnern wie z.B. LinkedIN, Google und Meta. Hierfür darf die Vogel Communications Group die genannten Daten gehasht an Werbepartner übermitteln, die diese Daten dann nutzen, um feststellen zu können, ob ich ebenfalls Mitglied auf den besagten Werbepartnerportalen bin. Die Vogel Communications Group nutzt diese Funktion zu Zwecken des Retargeting (Upselling, Crossselling und Kundenbindung), der Generierung von sog. Lookalike Audiences zur Neukundengewinnung und als Ausschlussgrundlage für laufende Werbekampagnen. Weitere Informationen kann ich dem Abschnitt „Datenabgleich zu Marketingzwecken“ in der Datenschutzerklärung entnehmen.
Falls ich im Internet auf Portalen der Vogel Communications Group einschließlich deren mit ihr im Sinne der §§ 15 ff. AktG verbundenen Unternehmen geschützte Inhalte abrufe, muss ich mich mit weiteren Daten für den Zugang zu diesen Inhalten registrieren. Im Gegenzug für diesen gebührenlosen Zugang zu redaktionellen Inhalten dürfen meine Daten im Sinne dieser Einwilligung für die hier genannten Zwecke verwendet werden. Dies gilt nicht für den Datenabgleich zu Marketingzwecken.
Recht auf Widerruf
Mir ist bewusst, dass ich diese Einwilligung jederzeit für die Zukunft widerrufen kann. Durch meinen Widerruf wird die Rechtmäßigkeit der aufgrund meiner Einwilligung bis zum Widerruf erfolgten Verarbeitung nicht berührt. Um meinen Widerruf zu erklären, kann ich als eine Möglichkeit das unter https://contact.vogel.de abrufbare Kontaktformular nutzen. Sofern ich einzelne von mir abonnierte Newsletter nicht mehr erhalten möchte, kann ich darüber hinaus auch den am Ende eines Newsletters eingebundenen Abmeldelink anklicken. Weitere Informationen zu meinem Widerrufsrecht und dessen Ausübung sowie zu den Folgen meines Widerrufs finde ich in der Datenschutzerklärung.
Herausforderungen und wie man sie angehen kann
Nachdem die Programmiersprache, deren Ausführungsumgebung und die zugehörige Werkzeugumgebung in einer ersten Version zur Verfügung stehen, beginnen die wirklichen Herausforderungen erst: die neu entwickelte Programmiersprache muss sich in der Praxis bewähren.
Hierzu müssen nicht an der Entwicklung beteiligte Programmierer und Programmiererinnen die Sprache verwenden, um die Probleme der adressierten Anwendungsdomäne zu lösen – und vor allem ihre Erfahrungen mit den Sprachentwicklern zu teilen sowie Anregungen zu Verbesserungen zu geben.
Die Sprache muss also entsprechend bekannt gemacht werden, etwa durch Beiträge in Entwicklerforen, Blogs, durch Vorträge auf Konferenzen usw. Parallel dazu müssen die Ausführungs- und Werkzeugumgebung der Programmiersprache frei zur Verfügung gestellt werden, damit interessierte Programmierer die Sprache ausprobieren können. Insbesondere die Durchführung von Hackathons gibt hier unmittelbares Feedback.
Nur wenn die neue Programmiersprache sich in der Praxis bewährt und Vorteile gegenüber anderen existierenden Programmiersprachen zeigt, wird eine nachhaltige Nutzergemeinschaft entstehen und die neue Programmiersprache eine Chance haben, sich langfristig zu etablieren.
Vorteile einer auf Open-Source-basierenden Programmiersprache
Eine Open-Source-Programmiersprache hat den entscheidenden Vorteil, dass Wissen und Erfahrungen einer diversen, großen Gruppe von Spezialisten in die Entwicklung der Programmiersprache einfließen kann. So können Fehler vermieden werden, die ansonsten später während der Nutzung entdeckt würden: solche Fehler würden die Sprache unnötig in Misskredit bringen und ihre Erfolgsaussichten schmälern.
Insbesondere wenn der erste Entwurf der Programmiersprache vorliegt, kann ihre Weiterentwicklung innerhalb einer Open-Source-Community sehr effektiv sein. Ein weiterer Vorteil einer Open-Source-Programmiersprache ist, dass der größere Kreis der beteiligten Entwickler als Multiplikatoren fungieren, die die neue Programmiersprache bekannt machen und andere wiederum anregen, die Programmiersprache zu nutzen.
* Christian Reuter ist General Manager und Vice President Europe bei WSO2.