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.
Miscellaneous

Neueste Beiträge

Mehr Leistung für SBCs
Neue Orange-Pi-Varianten von Shenzhen Xunlong liefern höhere Rechenleistung.
12 Minuten
15. Dez 2025
Simple Recipes – User Interface und Plattformanpassungen - Moderne UI-Gestaltung mit der Uno Platform, Teil 5
Fortsetzung des praxisnahen Mini-Projekts: Das Beispiel der Rezepte-App „Simple Recipes“ zeigt, wie Uno ein gemeinsames UI-Design für Desktop, Web und Mobile ermöglicht.
7 Minuten

Das könnte Dich auch interessieren

Elektronische Schaltkreise im Browser simulieren - Simulation
Statt mit Steckfeld oder Lötkolben kann man auf dieser Website Schaltungen per Drag and Drop zusammenstellen und deren Verhalten testen.
2 Minuten
26. Jul 2018
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
C#-.NET-Apps mit WinUI 3 - Komponentenbasierte Apps mit Fluent/FAST, Teil 3
Microsoft macht mit WinUI 3 ein natives User-Experience-Framework für Windows verfügbar, dessen Komponenten auf dem Microsoft-eigenen Design-System Fluent 2 basieren.
23 Minuten
13. Mai 2024
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige