Steuern und Kryptowährungen

C-Code direkt in Scratch ausführen – Ein innovativer Proof of Concept mit Turbowarp und Emscripten

Steuern und Kryptowährungen
Show HN: Running C code inside of Scratch – proof-of-concept

Entdecken Sie, wie C-Programme in Scratch-Projekten integriert werden können, indem moderne Web-Technologien wie Emscripten und der Turbowarp-Editor genutzt werden. Erfahren Sie, welche technischen Herausforderungen überwunden werden und wie dieser Proof of Concept neue Perspektiven für Programmierung und Bildung eröffnet.

Scratch ist eine der beliebtesten visuellen Programmierumgebungen für Anfänger und Kinder weltweit. Die einfache Bedienbarkeit und das blockbasierte System ermöglichen einen niederschwelligen Einstieg in die Welt der Programmierung. Doch gerade wegen dieser Einfachheit bietet Scratch keine direkte Unterstützung für leistungsfähige Programmiersprachen wie C, die vor allem in der System- und Anwendungsentwicklung zur Anwendung kommen. Hier setzt ein innovativer Proof of Concept an, der die Ausführung von C-Code direkt in Scratch ermöglicht. Dabei werden moderne Webtechnologien wie Emscripten und die Erweiterungsmöglichkeiten von Turbowarp genutzt, um eine Brücke zwischen der Low-Level-Programmierung und der visuellen Oberfläche von Scratch zu schlagen.

Der Kern dieses Projekts basiert auf der Kompilierung von herkömmlichem C-Code in JavaScript mithilfe von Emscripten. Emscripten ist ein leistungsstarker Compiler, der C- und C++-Code in optimiertes JavaScript übersetzt, sodass solche Programme im Webbrowser ausgeführt werden können. Normalerweise wird WebAssembly (WASM) als Ziel verwendet, um bestmögliche Performance zu erzielen. In diesem Fall wird aus bestimmten technischen Gründen, wie der Deaktivierung von CORS (Cross-Origin Resource Sharing), der gesamte Code in eine einzige JavaScript-Datei gebündelt, ohne die Vorteile von WebAssembly zu nutzen. Dadurch entstehen zwar Einschränkungen, dennoch wird die Ausführung von traditionellem C-Code im Scratch-Umfeld ermöglicht.

Da der reguläre Scratch-Editor keine nativen Erweiterungen dieser Art unterstützt, kommt Turbowarp ins Spiel. Turbowarp ist eine alternative Scratch-Entwicklungsumgebung, die weitreichende Anpassungen und das Hinzufügen von benutzerdefinierten Erweiterungen erlaubt. Das Projekt erstellt auf diese Weise eine Art Add-on, welches den kompilierten JavaScript-Code aus dem C-Quelltext aufnimmt und als eine neue Scratch-Funktion zur Verfügung stellt. Dadurch kann der Nutzer aus dem Scratch-Projekt direkt C-Funktionen ausführen lassen, was bisher in der Standard-Scratch-Welt undenkbar war. Technisch gesehen funktioniert die Integration so, dass nach erfolgreicher Kompilierung ein Webserver gestartet wird, der über eine URL eine JavaScript-Datei mit der Funktion bereitstellt.

Beim Öffnen des Turbowarp-Editors mit dieser Erweiterung schaltet sich die eigens erstellte C-Funktion in den blockbasierten Ablauf von Scratch ein und kann wie jede andere Funktion verwendet werden. Beispielsweise werden in der Demo einfache Berechnungen der Fibonacci-Folge implementiert – einmal nativ in Scratch, einmal in JavaScript und einmal im kompilieren C-Code. So lassen sich direkte Vergleiche hinsichtlich Performance und Umsetzbarkeit anstellen. Trotz aller Innovationen bleibt der Proof of Concept in seiner Aussage klar: Er ist weder als vollwertige Lösung noch als alltagstauglich zu verstehen. Die Performance ist überraschend, da die Scratch-eigene Funktion für die Fibonacci-Berechnung deutlich schneller ist als die implementierten C- oder JavaScript-Varianten.

Ein möglicher Grund hierfür ist der Overhead durch das Aufrufen von Funktionen aus einer externen Turbowarp-Erweiterung. Außerdem ist der Verzicht auf WebAssembly in dieser Variante ein bedeutender Nachteil für die Geschwindigkeit. Für Entwickler und Experimentierfreudige liefert der Ansatz dennoch wertvolle Einblicke und eröffnet neue Wege, wie traditionelle Programmiersprachen mit visuellen Umgebungen verbunden werden können. Die Voraussetzungen für die Nutzung sind transparente. Um die C-Integration erfolgreich auszuprobieren, benötigt man eine Umgebung mit installiertem Emscripten, Python und weiteren Entwicklungswerkzeugen wie Make.

Die Umsetzung wurde hauptsächlich auf Linux-Systemen getestet, sollte aber auch unter Windows mit Hilfe von WSL2 (Windows Subsystem for Linux) oder MSYS2 laufen. Nach einmaligem Buildprozess steht der Server zur Verfügung, der die erstellte Erweiterung bereitstellt und den Nutzer zum Experimentieren einlädt. Aus didaktischer Sicht ergeben sich spannende Möglichkeiten. Die Verbindung von C-Code mit Scratch könnte vor allem an Schulen oder in Programmier-Workshops einen neuen Lehransatz bieten. Schüler können auf der einen Seite ihre visuelle Programmierkenntnisse ausbauen und auf der anderen Seite schrittweise an komplexere und performantere Sprachen herangeführt werden.

Dabei bleibt das gewohnte visuelle Umfeld erhalten, was die Einstiegshürde für komplexe Programmierlogik senkt. Ebenso interessant ist die generelle Idee, beliebige Sprachen über JavaScript-kompilierte Erweiterungen in Scratch-artige Systeme einzubinden. Da Emscripten nicht ausschließlich C unterstützt, sondern auch C++ und andere Sprachen, könnten ähnliche Projekte leicht auf weitere Programmiersprachen ausgeweitet werden. Dies eröffnet ein großes Potential zum Experimentieren, Forschen und auch für die Entwicklung von leistungsfähigen Bildungswerkzeugen. Allerdings bleiben technische Herausforderungen.

Die fehlende Unterstützung von WebAssembly schränkt die Leistungsfähigkeit ein. Das Bündeln des gesamten Codes in eine JavaScript-Datei ist aufgrund von deaktiviertem CORS notwendig, erschwert jedoch die Modularität und Wartbarkeit des Codes. Zudem bleibt die Komplexität des Setups für Anfänger hoch, da vor dem Einbinden der Erweiterung diverse Werkzeuge installiert und richtig konfiguriert werden müssen. Standardnutzer des Scratch-Editors werden daher vorerst kaum von dieser Lösung profitieren. Zusammengefasst zeigt das Projekt eindrucksvoll, auf welche Weise modernste Webtools genutzt werden können, um Traditionalitäten in der Programmierung aufzubrechen.

Die Symbiose aus C und Scratch auf Basis von Emscripten und Turbowarp stellt einen mutigen Schritt dar, die Grenzen zwischen visueller und textbasierter Programmierung zu verwischen. Zwar handelt es sich hierbei um einen experimentellen Ansatz mit eingeschränkter praktischer Anwendbarkeit, doch der Gedanke trägt Früchte und inspiriert möglicherweise weitere Entwicklungen in der Lehre sowie im Bereich der Webtechnologien. In Zukunft könnte eine stabile Integration von WebAssembly, besseres Handling von Erweiterungen direkt im Scratch-Editor oder die Entwicklung eigener Low-Level-Scripting-Erweiterungen diese Technologie alltagstauglich machen. Zudem sind Ideen denkbar, bei denen Schüler nicht nur fertigen C-Code einbinden, sondern interaktiv zwischen visuellen Scratch-Blöcken und C-Textcode wechseln können. So könnten Hybride Lernumgebungen entstehen, die das Verstehen von Programmlogik auf mehreren Ebenen fördern.

Das gezeigte Projekt ist ein faszinierender erster Schritt, Digitalisierung, Programmierung und Bildung weiter miteinander zu verbinden. Mit der kontinuierlichen Entwicklung von Webstandards und Compilertechnologie ist es nur eine Frage der Zeit, bis solche Integrationen eine breitere Anwendung und Anerkennung finden. Für Entwickler, Pädagogen und technikbegeisterte Lernende lohnt sich die genaue Beobachtung solcher Ansätze, die die Zukunft niedrigschwelliger Programmierbildung mit leistungsstarken Tools kombinieren.

Automatischer Handel mit Krypto-Geldbörsen Kaufen Sie Ihre Kryptowährung zum besten Preis

Als Nächstes
My Superbooth 2025 Experience
Dienstag, 17. Juni 2025. Meine unvergessliche Superbooth 2025 Erfahrung in Berlin: Ein tiefgehender Einblick in die Welt der elektronischen Musik

Ein ausführlicher Erfahrungsbericht über den Besuch der Superbooth 2025 in Berlin, der größten Messe für elektronische Musikinstrumente, mit spannenden Eindrücken, Workshops, Gesprächen und Inspiration für Musiker und Technikbegeisterte.

Market Structure Rules for Crypto Could End Up Governing Core of U.S. Finance: Le
Dienstag, 17. Juni 2025. Wie neue Marktstrukturregeln für Kryptowährungen das Herzstück der US-Finanzwelt verändern könnten

Die bevorstehenden Marktstrukturregeln für Kryptowährungen könnten nicht nur den Krypto-Sektor regulieren, sondern auch tiefgreifende Auswirkungen auf das traditionelle US-Finanzsystem haben. Diese Entwicklung bringt eine bisher ungeahnte Verschmelzung von Krypto und konventionellem Finanzwesen mit sich und verspricht eine grundlegende Transformation der Finanzmärkte.

Stablecoins to Go Mainstream in 2025 After U.S. Regulatory Progress: Deutsche Bank
Dienstag, 17. Juni 2025. Stablecoins auf dem Weg zum Mainstream: Regulatorische Fortschritte in den USA ebnen Weg für 2025

Stablecoins gewinnen an Bedeutung und werden dank bedeutender regulatorischer Fortschritte in den USA im Jahr 2025 voraussichtlich in den Mainstream-Markt eintreten. Ihre Rolle im globalen Finanzsystem verstärkt die Dominanz des US-Dollars und eröffnet neue Möglichkeiten für schnelle, kostengünstige und programmierbare Zahlungen.

Leemon Baird on Hedera's Technical Gambit and AI’s Future
Dienstag, 17. Juni 2025. Leemon Baird über Hedera, technische Innovationen und die Zukunft der KI

Leemon Baird, Mitbegründer von Hedera, spricht über die technischen Grundlagen von Hashgraph, Herausforderungen im Blockchain-Sektor und die revolutionären Potenziale von Künstlicher Intelligenz. Ein tiefer Einblick in Governance, Nachhaltigkeit und die Schnittstellen zwischen Blockchain und KI.

Bitcoin is close to an all-time high vs. the S&P 500 due to equities selloff
Dienstag, 17. Juni 2025. Bitcoin erreicht fast Allzeithoch gegenüber S&P 500: Bedeutende Auswirkungen des Aktienmarktabschwungs

Bitcoin nähert sich einem historischen Höchststand im Vergleich zum S&P 500, angetrieben durch den jüngsten Ausverkauf an den Aktienmärkten. Die Dynamik zwischen Kryptowährungen und traditionellen Finanzmärkten gewinnt zunehmend an Bedeutung für Investoren und Analysten weltweit.

The Fed Is Worried About Stagflation: Here's Why This Analyst Says It Would Be Good For Bitcoin
Dienstag, 17. Juni 2025. Die Sorge der Fed vor Stagflation: Warum dieser Analyst glaubt, dass Bitcoin davon profitieren könnte

Die US-Notenbank Federal Reserve warnt vor den Risiken einer Stagflation, die durch stagnierendes Wachstum, steigende Arbeitslosigkeit und Inflation gekennzeichnet ist. Ein führender Analyst von Grayscale erklärt, warum Bitcoin in einem solchen wirtschaftlichen Umfeld als moderner Wertspeicher eine günstige Rolle einnehmen könnte und erläutert mögliche Auswirkungen auf den Kryptomarkt.

Chegg to lay off 22% of workforce as AI tools shake up edtech industry
Dienstag, 17. Juni 2025. Chegg entlässt 22 % der Belegschaft: Künstliche Intelligenz revolutioniert die EdTech-Branche

Chegg reagiert auf den zunehmenden Einfluss von KI-Technologien im Bildungssektor mit erheblichen Umstrukturierungen und Personalabbau. Die Veränderungen zeigen, wie disruptive Innovationen die Bildungslandschaft nachhaltig verändern und traditionelle EdTech-Anbieter vor große Herausforderungen stellen.