Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Lesedauer 3 Min.

.NET Runtime auf der Basis von .NET Core

.NET-Anwendungen benötigen eine Laufzeitumgebung. Diese ist ganz beziehungsweise zu großen Teilen in C++ geschrieben. Wie wäre es, wenn die Runtime mit C# verfasst würde. Geht das überhaupt?
Eine .NET-Anwendung ist "nur" ein Stück CIL-Bytecode (Common Intermediate Language), das von der .NET-Laufzeit ausgeführt wird. Und die .NET-Runtime ist "nur" ein Programm, das in der Lage ist, diese Aufgabe auszuführen. .NET Framework/.NET Core-Laufzeitprogramme sind häufig in C++ geschrieben. Daneben gibt es Laufzeitumgebungen, bei denen viele Teile in C# umgeschrieben wurden – etwa das Typsystem – entscheidende Teile, wie etwa JIT-Compiler und Garbage Collection blieben jedoch stets in C++. Konrad Kokosa – mehr über ihn erfahren Sie am Ende dieses Textes – versucht die .NET-Laufzeitumgebung komplett als .NET-Anwendung zu schreiben. Ohne jeden C+++-Code. Alles soll als .NET-Core-Anwendung, die in C# geschrieben ist. Das hört sich nach einer Art unendlicher Rekursion an. Es müsste eine .NET-Laufzeitumgebung über einer anderen .NET-Laufzeitumgebung ausgeführt werden und die wiederum ... Kokosa hat seine Idee Mobius-Laufzeitumgebung genannt, nach dem Möbiusband, einem Band, das nur eine Kante und eine Seite hat. Man kann nicht unterscheiden zwischen unten und oben oder außen und innen.Die Idee ist da, zugleich bekennt Kokosa, dass er nicht erwartet, dass sein Projekt noch im laufenden Jahrhundert auch nur annähernd produktionsreif sein wird. Er sagt, er sei sich der Menge an Code bewusst, die geschrieben werden muss, um eine vollständige .NET-Laufzeit zu entwickeln. Zugleich findet er es jedoch interessant, eine solche Idee zu validieren, und findet sie auch für kleinere Anwendungen geeignet. Als Beispiel nennt er ein NuGet-Paket mit einer separaten Laufzeit, die man zu seiner Anwendung hinzufügen könnte.Konrad Kokosa stellt sein Projekt auf dieser Seite ausführlich vor. Sein Ziel ist wie bereits gesagt, nicht das Vollenden des Projekts, sondern ein Spielzeug, anhand dessen man Spaß haben und eine Menge über die .NET-Laufzeitumgebung lernen kann. Seine Ergebnisse will Kokosa übrigens komplett als Open Source veröffentlichen. Aktuell arbeitet er an einem Proof of Concept, das schlicht eine Addition von zwei Integer-Werten ausführen soll.

Über den Autor

Konrad Kokosa ist Autor des Buches Pro.NET Memory Management. Er programmiert seit mehr als einem Dutzend Jahren, arbeitet an Lösung von Leistungsproblemen und Architekturrätseln in der .NET-Welt sowie an der Beschleunigung von Webanwendungen. Außerdem ist er unabhängiger Berater, Blogger, Sprecher und Fan von Twitter. Er teilt auch seine Leidenschaft als Ausbilder im Bereich .NET, insbesondere über Anwendungsleistung und -diagnose und ist Microsoft MVP in der Kategorie Visual Studio und Entwicklungstools.

Neueste Beiträge

Hierarchische Testdata-Builder - Testdata-Builder, Teil 1
Lesbare Tests bei tiefen Objekthierarchien mit dem Collection-Builder-Pattern.
4 Minuten
DDC hakt nach: Bringt Blazor 10 Ordnung ins Chaos?
Mit Blazor lässt sich Code in C# schreiben, der im Web-Frontend ausgeführt wird. Die Version 10 soll Ordnung in das gewachsene Framework bringen. Dr. Holger Schwichtenberg verrät im Interview, was sich getan hat.
3 Minuten
3. Nov 2025
Chunks mit Köpfchen - KI für KMU, Teil 1
Wie trenne ich Textinformationen in sinnvolle Segmente?
7 Minuten
Miscellaneous

Das könnte Dich auch interessieren

Benchmark im Unit-Test-Stil - Best of NuGet, Teil 4
NuGet-Pakete können das Leben des .NET-Entwicklers sogar um neue Werkzeuge erweitern, die sich auf den Entwicklungsworkflow (und nicht den bearbeiteten Code) auswirken. Mit BenchmarkDotNet steht ein Musterbeispiel dieses Konzepts zur Verfügung, das die Überprüfung der Performance von Code aller Arten ermöglicht.
7 Minuten
16. Okt 2025
Loggingdaten-Einlaufstelle mit Komfortfunktionen - Best of NuGet, Teil 5
Die in Android implementierte Logging-Funktion ist ein leistungsfähiges Beispiel für moderne Logging-Systeme. Mit Serilog steht ein ähnliches System für .NET-Applikationen zur Verfügung, das allerdings einige weit über das große Vorbild hinausgehende Funktionen offeriert.
6 Minuten
22. Okt 2025
Attraktives GUI mit Spectre.Console - Best of NuGet, Teil 6
Mit der Bibliotheksfamilie Spectre.Console steht ein neues Produkt ante portas, das die Realisierung von visuell ansprechenden Kommandozeileninterfaces zu erleichtern sucht.
7 Minuten
29. Okt 2025
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige