Institutionelle Übernahme

Eine eigene Programmiersprache entwickeln: Der Weg zur plattformübergreifenden Portierung einer Softwarebibliothek

Erfahren Sie, wie der Entwickler hinter Number Duck durch die Schaffung einer individuellen Programmiersprache die Grenzen traditioneller C++-Programmierung überwunden und seine Softwarebibliothek erfolgreich in mehrere Programmiersprachen portiert hat. Entdecken Sie Strategien zur Speicherverwaltung, Herausforderungen der Transpilierung und die Vorteile eines selbstgehosteten Compilers.

Eine eigene Programmiersprache entwickeln: Der Weg zur plattformübergreifenden Portierung einer Softwarebibliothek

Die Entwicklung von Softwarebibliotheken für verschiedene Programmiersprachen ist eine anspruchsvolle Aufgabe, die vielfach mit immensem Aufwand verbunden ist. Immer wieder stellt sich die Frage, wie komplexe Software, ursprünglich in einer Sprache wie C++ geschrieben, für andere Plattformen und Entwicklerwelten zugängig gemacht werden kann, ohne dabei auflaufenden Wartungsaufwand zu riskieren. Zahlreiche Entwickler sehen sich vor der Herausforderung, ihre Arbeit einem größeren Publikum zur Verfügung zu stellen und ihre Codebasis dennoch übersichtlich und wartbar zu halten. Ein bemerkenswerter Ansatz ist dabei die Kreation einer eigenen, maßgeschneiderten Programmiersprache. Am Beispiel von Number Duck, einer Softwarebibliothek für das Lesen und Schreiben von Excel-Dateien, lässt sich genau nachverfolgen, wie solch ein ehrgeiziges Projekt realisiert werden kann.

Number Duck begann ursprünglich als eine spezialisierte C++-Bibliothek, die sich auf den Umgang mit Excel-Dateien konzentrierte. Obwohl diese Bibliothek für fortgeschrittene Entwickler äußerst nützlich war, beschränkte die Bindung an C++ die Reichweite spürbar. In der Geschäftswelt dominieren Sprachen wie C# oder Java – besonders im Unternehmensumfeld sind diese Sprachen weit verbreitet und etablierter Standard. Das Bedürfnis, Number Duck auch für solche Umgebungen zugänglich zu machen, war der Auslöser für die Reise vom reinen C++-Projekt hin zu einer plattformübergreifenden Lösung ohne Abhängigkeiten von Laufzeitumgebungen oder Wrappern. Ein erster Versuch richtete sich darauf, die C++-Codebasis mithilfe von Clang, einem quelloffenen Compiler, zu analysieren. Clang ermöglicht das Parsen von C++-Code in einen Abstrakten Syntaxbaum (AST), mit dessen Hilfe theoretisch eine Übersetzung in andere Sprachen erfolgen könnte.

Durch die Analyse des AST wollte der Entwickler sowohl C++ als auch C#-Code automatisch erzeugen. Dies war ein vielversprechender Start, der dabei half, zentrale Probleme aufzudecken – insbesondere die feingliedrige Speicherverwaltung und direkte Speicherzugriffe, die in C++ vielfach verwendet werden, aber in memory-safe Sprachen wie C# nicht ohne weiteres möglich sind. Ein besonderes Problem stellte das alte Excel BIFF8 XLS-Dateiformat dar, das eine extrem präzise und komplexe binäre Datenmanipulation erforderte. Number Duck setzte dafür umfassend Pointerarithmetik ein, die direkt auf den Speicher zugreift. In Sprachen wie C#, die auf Sicherheit und Schutzmechanismen gegen solche direkten Speicherzugriffe setzen, kann dieser Code nicht 1:1 übernommen werden. Um das zu lösen, erdachte der Entwickler eine Abstraktionsschicht für Speicheroperationen.

Diese Schicht stellte eine Art gemeinsamen Nenner für C++ und C# bereit, in dem Speicherzugriffe kontrolliert, abstrahiert und sicher ausgeführt wurden. Mit Hilfe dieser Abstraktion musste der bestehende C++-Code umgeschrieben werden, so dass alle direkten Speicherzugriffe über diese Schicht liefen. Das war ein zeitaufwendiger Prozess, zahlreicher Code musste angepasst werden, doch diese Grundlage ermöglichte es später, den gleichen Code plattformübergreifend zu verwenden und sicher auszuführen. Neben der Speicherverwaltung mussten auch andere Fremdbibliotheken, etwa zur Verarbeitung von XML oder ZIP-Dateiformaten, abstrahiert werden, da hier in den Zielumgebungen unterschiedliche Bibliotheken zum Einsatz kommen. Indem eine einheitliche Schnittstelle geschaffen wurde, konnten diese Unterschiede überbrückt werden. Trotz des Fortschritts stieß der Entwickler bald an Grenzen.

Die Nutzung von Clang AST zum Übersetzen und Generieren von C#-Code erwies sich als zu umständlich und begrenzte die Freiheit, neue Sprachkonstrukte einzuführen. Besonders die Einführung von Konzepten wie "besessenen" Zeigern (owned pointers) war in Standard-C++ kaum möglich. Die Idee, eine eigene Sprache zu entwickeln, wurde geboren – eine Sprache, die ähnlich wie eine reduzierte Version von C# aussehen sollte, aber speziell auf die Bedürfnisse von Number Duck und die problematischen Speicherbereiche abgestimmt war. Die Suche nach existierenden Transpilationslösungen brachte zwar einige Ergebnisse, doch jede hatte Kompromisse, die für das Projekt nicht akzeptabel waren – sei es wegen unerwünschter Laufzeitabhängigkeiten oder weil die Zielsprachen nicht passend unterstützt wurden. Aus diesem Grund entschied sich der Entwickler, mit den Grundlagen aus dem Buch "Crafting Interpreters" eine eigene, simple Sprache zu erschaffen.

Diese neue Sprache sollte klare, begrenzte Sprachmerkmale haben, und vor allem intelligente Speicherverwaltung unterstützen. Der erste Transpiler, der die neue Sprache in C++ und C# übersetzte, wurde in C++ geschrieben. So konnten erste Tests mit einfachen Beispielen gemacht werden, um das Konzept zu validieren. Schon bald wurde der Transpiler jedoch in die neu entwickelte eigene Sprache portiert und damit selbstgehostet. Der enorme Vorteil: Der Transpiler wurde zu einem echten Praxistest für die Sprache selbst, Verbesserungen konnten schnell implementiert werden und die Sprache wurde gleichzeitig um relevante Funktionen erweitert. Die Arbeit mit eigenem Stable- und Unstable-Code ermöglichte eine kontrollierte Weiterentwicklung und sorgte dafür, dass Fehler schnell behoben werden konnten, ohne die Gesamtentwicklung zu gefährden. Hat man einmal eine stabile eigene Sprache und einen funktionierenden Transpiler aufgebaut, konnte die eigentliche Portierung von Number Duck beginnen.

Anstatt alles auf einmal zu machen, wurde eine schrittweise, file-by-file Methode gewählt. Jedes einzelne Quelltext-Dokument wurde in die neue Sprache übertragen, dann mittels Transpiler wieder in C++ konvertiert und ersetzt. Zwischendurch wurde die komplette Bibliothek gebaut und getestet, um sicherzugehen, dass alle Funktionen wie bisher arbeiteten. Auf diese Weise blieb der Code stets funktionsfähig und Fehler konnten viel schneller lokalisiert und korrigiert werden – eine Strategie, die Geld, Zeit und Nerven spart. Besonders wichtig war ein umfangreiches Test-Framework für Number Duck. Dieses stellte sicher, dass die transpilierte Version der Bibliothek die gleichen Ergebnisse lieferte wie der Originalcode. Nur so war gewährleistet, dass an keiner Stelle Funktionsverluste oder unerwünschte Fehler auftreten konnten. Nachdem die gesamte Codebasis erfolgreich migriert war, widmete sich der Entwickler weiteren Optimierungen.

Die vielen Einzelfiles wurden zu einem Amalgam zusammengeführt, um die Handhabung zu erleichtern. Zusätzlich wurden alle plattformübergreifenden Codeschnipsel integriert – von Speicherabstraktionen bis hin zu Drittanbieterbibliotheken wie TinyXML2 im C++-Bereich. Das Ergebnis ist kein perfektes Kunstwerk, aber ein praktisch anwendbares und funktionierendes System. Der Prozess zeigt eindrucksvoll, dass technologische Herausforderungen oft weniger in der technischen Machbarkeit als im Durchhaltevermögen und strukturierten Vorgehen liegen. Mit den entsprechenden Sicherheitsmechanismen wie automatisierten Tests und stabilen Builds lässt sich scheinbar Unmögliches bewältigen. Der Wechsel weg von der traditionellen C++-Codebasis hin zur selbst entworfenen Sprache eröffnete zudem eine klare Perspektive: Neue Features, Erweiterungen oder Anpassungen müssen künftig nur einmal umgesetzt werden und sind automatisch in allen Sprachen nutzbar.

Dies reduziert den Pflegeaufwand drastisch und erhöht die Konsistenz. Die Erfahrung zeigt zudem, dass ambitionierte Projekte dieser Art zwangsweise ressourcenintensiv sind und Zeit benötigen. In der Praxis bedeutet dies, dass während der Portierung meist keine neuen Features entwickelt werden können – eine Investition in die Zukunft. Doch die Konnektivität und Zugriffsmöglichkeiten über mehrere Programmiersprachen kompensieren diesen Aufwand mehr als deutlich. Der Weg, eine eigene Programmiersprache zu entwickeln und als Transpiler für eine bestehende Bibliothek zu verwenden, ist sicher kein Standardweg. Es bedarf viel Mut, Know-how und Geduld. Doch er kann eine elegante und gleichzeitig mächtige Lösung für das Problem sein, den Funktionsumfang und die Reichweite einer Software über Grenzen von Sprachen und Plattformen hinweg zu erweitern.

Projekten wie Number Duck gelingt auf diese Weise der Sprung aus der Nische hin zu einer breiten Nutzerschaft mit vielfältigen Entwicklungsumgebungen. Für Entwickler und Interessierte bietet sich hier eine spannende Möglichkeit, eingefahrene Wege zu verlassen und die Kontrolle über ihren Code und dessen Zukunft zu behalten. Die technische Grundlage wie der Umgang mit ASTs, das Erstellen von Abstraktionsschichten oder selbstgehosteten Compilern sind spannende Felder, die viel Wissen und strategisches Vorgehen erfordern. Zugleich zeigen solche Projekte, dass mit ausreichend Geduld und gezielter Planung individuelle Lösungen für komplexe Herausforderungen in der Softwareentwicklung realisierbar sind – ein zukunftsweisender Weg im zunehmend heterogenen Programmierumfeld.

OKX Partnerinhalte

Registrieren Sie sich bei OKX und erhalten Sie Ihren Willkommensbonus

OKX ist eine Plattform für Spot- und Futures-Handel, P2P-Tausch und Krypto-Sparpläne. Ein neues Konto über diesen Link eröffnet Zugang zum Willkommensbonus-Programm: bis zu 10.000 USDT für Ihre ersten Schritte an der Börse.

Konto erstellen und Bonus erhalten →

18+ · Partnerlink. Kryptowährungen sind volatil: Sie können Ihre Einlage verlieren.

Als Nächstes
Bundesbehörden weisen Vorwürfe der Beweismittelaushaltung im Rechtsstreit um Samourai Wallet zurück
Samstag, 14. November 2026. Bundesbehörden weisen Vorwürfe der Beweismittelaushaltung im Rechtsstreit um Samourai Wallet zurück

Im Laufe des Jahres 2025 erregte ein Rechtsstreit rund um die Samourai Wallet, eine auf Privatsphäre und Sicherheit spezialisierte Kryptowährungs-Wallet, verstärktes mediales Interesse. Im Zentrum der Debatte standen Anschuldigungen, die Bundesbehörden hätten wichtige Beweismittel im Zusammenhang mit dem Fall zurückgehalten.

Amazon versucht TikTok zu übernehmen – kurz vor möglichem US-Verbot
Samstag, 14. November 2026. Amazon versucht TikTok zu übernehmen – kurz vor möglichem US-Verbot

Amazon hat in den letzten Tagen für eine riesige Überraschung gesorgt: Der Online-Handelsriese hat ein Angebot zum Kauf von TikToks US-Geschäft gemacht – und das nur wenige Tage vor einer möglichen Verbannung der App aus amerikanischen Smartphones. Diese unerwartete Initiative ereignet sich vor dem Stichtag am 5.

Coinbase übernimmt Deribit für 2,9 Milliarden US-Dollar: Ein strategischer Schritt zur Stärkung im Kryptowährungsmarkt
Samstag, 14. November 2026. Coinbase übernimmt Deribit für 2,9 Milliarden US-Dollar: Ein strategischer Schritt zur Stärkung im Kryptowährungsmarkt

Die Übernahme von Deribit durch Coinbase für 2,9 Milliarden US-Dollar stellt einen bedeutenden Meilenstein in der sich rasant entwickelnden Welt der Kryptowährungen dar. Coinbase, eine der größten und bekanntesten Krypto-Handelsplattformen weltweit, erweitert mit dieser Akquisition sein Produktportfolio und positioniert sich strategisch im Bereich der Kryptoderivate, die zunehmend an Bedeutung gewinnen.

Starbucks und die Herausforderungen beim Investieren in Turnaround-Aktien
Samstag, 14. November 2026. Starbucks und die Herausforderungen beim Investieren in Turnaround-Aktien

Starbucks gilt seit Jahrzehnten als eine der bekanntesten und erfolgreichsten Marken weltweit. Das Unternehmen hat durch seine Innovationskraft, sein einzigartiges Kundenerlebnis und seine globale Präsenz eine starke Marktposition erobert.

Elon Musk ehrt die Mutterschaft: Eine Hommage an Maye Musk mit Dogecoin und Familienfotos zum Muttertag
Samstag, 14. November 2026. Elon Musk ehrt die Mutterschaft: Eine Hommage an Maye Musk mit Dogecoin und Familienfotos zum Muttertag

Elon Musk, einer der einflussreichsten Unternehmer unserer Zeit, hat am diesjährigen Muttertag eine besondere Botschaft verbreitet. In einer berührenden Geste hat er die Bedeutung der Mutterschaft hervorgehoben und seine Wertschätzung für die Rolle der Mütter in der Gesellschaft zum Ausdruck gebracht.

AB Foundation und AB Blockchain: Technologische Innovationen für globale Philanthropie und Vertrauen
Samstag, 14. November 2026. AB Foundation und AB Blockchain: Technologische Innovationen für globale Philanthropie und Vertrauen

In einer Welt, die zunehmend von digitalen Technologien geprägt wird, eröffnet sich auch im Bereich der Philanthropie ein neues Zeitalter. Das Zusammenspiel von Innovation und sozialem Engagement bildet die Grundlage für eine Revolution, die traditionelle Spendenmechanismen neu definiert und nachhaltige Wirkung verstärkt.

Die 8 besten Ethereum Meme Coins im Mai 2025: Chancen und Risiken für Investoren
Samstag, 14. November 2026. Die 8 besten Ethereum Meme Coins im Mai 2025: Chancen und Risiken für Investoren

Ethereum Meme Coins erfreuen sich weiterhin einer enormen Beliebtheit und bieten sowohl erfahrenen Investoren als auch Krypto-Neulingen spannende Chancen. Insbesondere im Mai 2025 ist der Markt für Ethereum-basierte Meme Coins von vielfältigen Projekten geprägt, die neben ihrem Memestatus auch mit interessanten technologischen Neuerungen und Community-Engagement punkten.

Weitere Artikel zum Thema
Mit Expertenstrategien im Kryptomarkt erfolgreich: So profitieren Investoren vom aktuellen Umfeld
Samstag, 14. November 2026. Mit Expertenstrategien im Kryptomarkt erfolgreich: So profitieren Investoren vom aktuellen Umfeld

Das aktuelle Marktumfeld im Bereich der Kryptowährungen stellt Investoren vor vielfältige Herausforderungen und Chancen zugleich. Nach einer Phase großer Schwankungen und Unsicherheiten scheint sich die Branche langsam zu stabilisieren.

Steht dem Ripple (XRP) Kurs ein grenzenloses Wachstum bevor? Experten analysieren die kommenden Preisbewegungen
Samstag, 14. November 2026. Steht dem Ripple (XRP) Kurs ein grenzenloses Wachstum bevor? Experten analysieren die kommenden Preisbewegungen

Ripple (XRP) befindet sich aktuell in einer spannenden Phase, die Anleger und Kryptoinvestoren weltweit in ihren Bann zieht. Während viele Altcoins mit Schwankungen zu kämpfen haben, präsentiert sich XRP als einer der wenigen im grünen Bereich und sorgt so für Aufsehen in der dynamischen Kryptowelt.

Warum 7.500 Ethereum-Adressen Über 80% des Gesamtangebots an ETH Halten
Freitag, 13. November 2026. Warum 7.500 Ethereum-Adressen Über 80% des Gesamtangebots an ETH Halten

In der Welt der Kryptowährungen hat Ethereum (ETH) sich als eine der führenden Plattformen etabliert. Hierbei ist es interessant zu beobachten, dass eine relativ kleine Anzahl von Ethereum-Adressen, genau genommen etwa 7.

Der stille Kollaps: Wie generative KI die Einnahmen aus Fotolizenzen revolutioniert und bedroht
Samstag, 14. November 2026. Der stille Kollaps: Wie generative KI die Einnahmen aus Fotolizenzen revolutioniert und bedroht

Die Bildbranche befindet sich an einem Wendepunkt, der bislang ohnegleichen ist. Generative Künstliche Intelligenz (KI) hat in den letzten Jahren einen rasanten Fortschritt erlebt und sorgt mit Technologien wie Midjourney, DALL·E und Adobe Firefly für eine tiefgreifende Umwälzung der Art und Weise, wie visuelle Inhalte erzeugt und genutzt werden.