.Net

Übersicht


.NET  ist eine von Microsoft entwickelte Softwareplattform. Diese umfasst eine Laufzeitumgebung, eine für Programmierer bestimmte Sammlung von Klassenbibliotheken (API), und angeschlossene Dienstprogramme (Services). Die Plattform ist bisher in ihrem vollen Umfang nur für Windows verfügbar. Anwendungen für .NET laufen dank Projekten wie dem Mono-Projekt auch teilweise auf unixoiden Betriebssystemen.
Die Plattform soll die bisherigen Vorgehensweisen der Windows-Programmierer sowie veraltete Konzepte wie COM ersetzen und eine flexiblere Möglichkeit bieten, auf Betriebssystemfunktionen zuzugreifen und sich untereinander auszutauschen. Dadurch ist .NET auch für den Einsatz auf unterschiedlichen Geräteplattformen, wie Mobiltelefonen oder PDAs, geeignet.
Seit dem 17. Januar 2008 ist der Quelltext großer Teile des Frameworks zum Debugging für Entwickler verfügbar.

Konzept


Die .NET-Plattform ist die Umsetzung des Common-Language-Infrastructure-Standards (CLI) und stellt mit diesem eine Basis zur Entwicklung und Ausführung von Programmen dar, die mit unterschiedlichen Programmiersprachen auf verschiedenen Plattformen erstellt wurden. Basisbestandteile sind die (objektorientierten) Laufzeitumgebung CLR (Common Language Runtime), die Base Class Library oder kurz BCL genannte Klassenbibliothek sowie diverse Hilfsprogramme z. B. zur Rechteverwaltung

CLR, CIL und Reflection
Das zugrundeliegende BasisprinzipDie Common Language Runtime (CLR) ist die Laufzeitumgebung von .NET und stellt somit den Interpreter für den standardisierten Zwischencode, der Common Intermediate Language (CIL), dar. Die CIL hieß früher Microsoft Intermediate Language (MSIL), wurde aber im Rahmen der Standardisierung durch die ECMA umbenannt. Für sie wurde ein sprachübergreifendes System von objektbasierten Datentypen definiert, so dass alle Hochsprachen, die sich an den CLI-Standard (Common Language Infrastructure) halten, in gültigen CIL-Bytecode kompiliert werden können. Im Gegensatz zu Java, einer Programmier-Methodik, die .NET am ähnlichsten ist, wurde .NET von Anfang an für den Betrieb mit mehreren unterschiedlichen Programmiersprachen entwickelt.


Strategie, Nutzen und Trends

Das Besondere an der CLR ist weniger die technische Innovation als vielmehr die strategische (und langfristig vielleicht folgenreichste) Entscheidung des Marktführers Microsoft für ein laufzeit-basiertes System. Es soll unter anderem helfen, Programmierfehler zu vermindern. Gleichzeitig entschied sich Microsoft gegen die traditionelle, bisher angewandte direkte Kompilierung in den Maschinencode des Zielsystems. Zusammen mit der Marktmacht von Java und dem Erfolg der sogenannten Skriptsprachen ist hiermit ein Trend zu identifizieren. Dieser stellt einen als historisch zu bezeichnenden Bruch mit der noch wenige Jahre zuvor vorherrschenden Dominanz der direktkompilierenden Programmiersprachen (insbesondere C++ und C) dar. Damit entfernt sich die Softwareentwicklung, insbesondere die Anwendungsentwicklung, insgesamt von dem Augenmerk auf Ausführungsgeschwindigkeit, die angesichts einer immer schneller werdenden Rechengeschwindigkeit zunehmend in den Hintergrund rückt. Vielmehr bemüht man sich nun um mehr Effizienz in der Programmentwicklung.
Mittels Reflection ist es möglich, zur Laufzeit Programmcode über ein Objektmodell zu generieren und es direkt im Speicher in lauffähigen Code zu überführen. Diese Technik wird unter anderem von ASP.NET genutzt sowie in einigen anderen Mechanismen wie zum Beispiel der Geschwindigkeitsoptimierung regulärer Ausdrücke. Zudem ist es möglich, zur Laufzeit Skriptcode „dynamisch“ zu übersetzen und auszuführen.

 

Weblinks


Allgemein

.NET 3.0