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

Spotlight #1: IoT neu eingebunden - Integration und Verwaltung von IoT-Geräten mit Azure IoT Operations
Wie sich das neue Azure IoT Operations von bestehenden Azure-Diensten unterscheidet, welche Technologien dabei zum Einsatz kommen und wann sich der Umstieg lohnt.
16 Minuten
15. Jun 2025
DWX hakt nach: Wie gestaltet man intuitive User Experiences?
DWX hakt nach: Wie gestaltet man intuitive User Experiences? Intuitive Bedienbarkeit klingt gut – doch wie gelingt sie in der Praxis? UX-Expertin Vicky Pirker verrät auf der Developer Week, worauf es wirklich ankommt. Hier gibt sie vorab einen Einblick in ihre Session.
4 Minuten
27. Jun 2025
DWX hakt nach: Wie stellt man Daten besonders lesbar dar?
Dass das Design von Websites maßgeblich für die Lesbarkeit der Inhalte verantwortlich ist, ist klar. Das gleiche gilt aber auch für die Aufbereitung von Daten für Berichte. Worauf besonders zu achten ist, erklären Dr. Ina Humpert und Dr. Julia Norget.
3 Minuten
27. Jun 2025
Miscellaneous

Das könnte Dich auch interessieren

Kurs auf Kubernetes! - ASP.NET-Core-Applikationen in der Cloud
Erfolgreicher Betrieb von ASP.NET-Core-Applikationen in Kubernetes – Schritt für Schritt.
27 Minuten
9. Dez 2024
Erstellung von ZUGFeRD 2.3 mit .NET C# - Rechnungserstellung
ZUGFeRD 2.3 konforme Rechnungen mit TX Text Control .NET Server für ASP.NET erstellen.
3 Minuten
9. Jan 2025
Von .NET Core 3.0 zu .NET 5 - Microsoft Build
Aus .NET, .NET Core und Mono soll mit .NET 5 wieder eine gemeinsame Plattform für alle Anwendungen entstehen.
2 Minuten
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige