.NET - Was ist .NET?
 |
Was ist .NET?
|
Worum geht es bei .NET?
Was ist .NET?
Was ist .NET nicht?
".NET ist ein Framework"
Was ist Visual Studio .NET?
Von .NET unterstützte Programmiersprachen
Ist .NET plattform-unabhängig?
Lohnt es sich, .NET zu lernen?
Wie lange dauert es, .NET zu lernen?
Die Zukunft von .NET
Mehr zu .NET ...
Worum geht es bei .NET?
Die einfache Antwort daruf ist: "Das ist die Technologie von Microsoft, auf der alle anderen Microsoft
Technologien in Zukunft aufbauen werden."
Es ist ein wesentlicher Technologiewechsel. Ähnlich wie beim Wechsel von DOS nach Windows, geht die Computerwelt jetzt nach
.NET.
Aber es wäre keine Überraschung, heute jemanden zu finden, der sagt: "Ich mag .NET nicht. Ich bleibe lieber beim guten alten COM und C++."
Es gibt auch heute noch Leute, die lieber einen Ochsenkarren verwenden als einen neuen BMW.
Die .NET-Technologie wurde von Microsoft
eingeführt, um Marktanteile von SUN's Java zu gewinnen. Vor ein paar Jahren hatte Microsft nur VC++ und VB anzubieten, um mit Java
zu konkurrieren, aber Java eroberte sehr schnell den Markt. Die moderne Welt hängt immer mehr vom Internet ab und Tools um Java herum
wurden zur ersten Wahl für Web-Anwendungen. Es sah ganz so aus, als ob Microsoft in diesem Wettstreit der Verlierer sein würde.
Tausende von Entwicklern wechselten von VC++ und VB nach Java. Das war ein Alarmzeichen für Microsoft und viele Microsoft-Fans
haben immer wieder gefragt, ob Microsoft hier etwas verschläft. Microsoft kam mit einer Antwort. Und die lautete .NET.
Aber es ist
nicht das erste Mal, dass Microsoft später nachzog und dann schnell technologisch aufholte. Und im Falle von .NET trifft dies wieder einmal zu.
Microsft setzte seine besten Leute in einem geheimen Projekt ein, das zunächst Next Generation Windows Services (NGWS) hiess. Und Bill Gates selbst
überwachte dieses Projekt. Das Ergebnis dieses Projekts ist heute unter dem Namen .NET bekannt. Auch wenn .NET die meisten Ideen
von SUN's J2EE abgeschaut hat, so hat es doch seine Mitbewerber noch übertroffen.
VC++ von Microsoft war ein leistungsfähiges Werkzeug.
Aber es war auch zu komplex. Es hat zu viele Datentypen und Entwickler mussten den Umgang mit vielen Bibliotheken lernen wie z.B.
dem Windows SDK, MFC, ATL, COM und mehr. Es gab viele Kompatibilitätsprobleme bei den Datentypen, wenn man zwischen den verschiedenen
Ebenen/Schichten Daten austauscht. Visual Basic war viel zu einfach und viele ernsthafte Entwickler mochten es genau aus diesem Grund nicht.
Auch wenn Visual Basic sehr einfach in der Benutzung war, so war es nicht flexibel genug für ernsthafte Anwendungen. Java von SUN
wurde aus diesem Grund eine sehr gute Alternative. Es hat die Flexibilität und Leistungsfähigkeit von C++ und ist zugleich einfach genug
in der Handhabung, dass auch VB-Programmierer darauf aufmerksam wurden.
Microsoft erkannte diese Faktoren und brachten .NET auf den Markt, in dem genau diese Faktoren berücksichtigt wurden. Alle unerwünschten
Komplexitäten sind darin beseitigt und ein pures objekt-orientiertes Programmiermodell kam dabei heraus. Das macht das Leben eines
Programmierers erheblich einfacher!
Das .NET Framework besteht aus einer einzigen Klassenbibliothek. Und das ist alles, was man als Programmierer zu lernen hat!
Ob man den Quelltext in C# oder VB.NET oder J# schreibt ist egal, immer verwendet man genau die geiche .NET Klassenbibliothek.
Es gibt keine sprach-spezifischen Klassen. Es gibt nichts, was man in einer Sprache mehr machen kann als in einer anderen .NET-Sprache.
Man kann den Quelltext in C# oder VB.NET in der gleichen Anzahl von Zeilen schreiben. Die Performance ist die gleiche, die Effizienz
ist die gleiche, denn man verwendet jeweils immer die gleiche .NET-Klassenbibliothek.
Zurück zu den Fragen
Was ist .NET?
- .NET ist ein plattform-neutrales Framework.
- .NET ist eine Schicht zwischen dem Betriebssstem und der Programmiersprache.
- .NET unterstützt viele Programmiersprachen wie z.B. VB.NET, C# usw.
- .NET stellt Klassenbibliotheken zur Verfügung, die von jeder Programmiersprache genutzt werden kann, die auf .NET basiert.
Es gibt nicht jeweils unterschiedliche Klassenbibliotheken für die verschiedenen Programmiersprachen. Wenn man eine .NET-Sprache kennt,
kann man in jeder anderen .NET-Sprache kodieren!
- In den zukünftigen Windows-Versionen wird .NET als kostenfreier Bestandteil des Betriebssystems ausgeliefert. Es muss dann nicht
vom Anwender separat installiert werden.
Zurück zu den Fragen
Was ist .NET nicht?
- .NET ist kein Betriebssystem.
- .NET ist keine Programmiersprache.
Zurück zu den Fragen
".NET ist ein Framework"
Finden Sie diese Definition verwirrend? Da sind sie nicht allein. Es ist in der Tat verwirrend!
Man kann .NET nicht als eine 'einzelne Sache' definieren. Es ist eine neue, einfache und umfassende Programmier-Plattform.
Es ist keine Programmiersprache, aber es unterstützt mehrere Programmiersprachen. Zu .NET gehören standardmäßig einige Programmiersprachen,
darunter C# (C Sharp), VB.NET, J# und Managed C++. .NET ist eine für alle unterstützten Programmiersprachen gemeinsame Plattform.
Es bietet allen unterstützten Sprachen eine gemeinsame Klassenbibliothek. Das bedeutet, dass Entwickler nicht viele verschiedene
Bibliotheken lernen müssen, wenn Sie auf eine andere Sprache wechseln. Nur die Syntax ist in den jeweiligen Sprachen verschieden.
Schreibt man Quelltext in einer beliebigen .NET-Sprache und compiliert diesen dann, dann wird dieser in eine 'Intermediate Language'
(Microsft Intermediate Language - MSIL) konvertiert. Das bedeutet die compilierte EXE-Datei enthält die IL und nicht echten ausführbaren
Machinencode. Wird die .NET-Anwendung gestartet, kümmert sich das .NET Framework auf diesem Computer um die Ausführung. (Damit
eine .NET-Anwendung ausgeführt werden kann, muss auf diesem Computer das .NET Framework installiert sein.) Das .NET Framework
übersetzt die Aufrufe in die .NET Klassenbibliotheken in entsprechnede API-Aufrufe des Betriebssystems.
Egal ob man den Quelltext in C# oder VB.NET geschrieben hat,es werden immer die selben Methoden der .NET Klassenbibliothek aufgerufen.
Es ist also immer das selbe.NET Framework, das die C# bzw VB.NET-Anwendungen ausführt. Demzufolge gibt es keine Performance-Unterschiede,
die auf die Sprache zurückzuführen sind, in der diese Quelltexte geschrieben sind.
Zurück zu den Fragen
Was ist Visual Studio .NET?
Manch einer bringt Visual Studio .NET (VS.NET) und die .NET-Technologie durcheinander. VS.NET ist 'nur' ein Editor,
der von Microsoft angeboten wird, mit dem Entwickler auf einfache Weise .NET-Programme schreiben können. Der VS.NET Editor generiert
automatisch eine Menge Code, der Entwickler kann Controls auf ein Formular ziehen und fallen lassen, per Mausklick kann dann die
Anwendung compiliert und gelinkt werden u.v.m.
VS.NET wird nicht zwingend für .NET-Programmierung benötigt. Man kann auch einfach NotePad oder jeden einfachen Editor verwenden,
um .NET-Quelltext zu schreiben! Und dann compiliert man die .NET-Programme von der Kommandozeile.
Das zuletzt Gesagte ist natürlich eher theoretisch. Aber wenn man sich entscheidet NotePad für .NET-Programmierung zu verwenden,
kann es leicht sein, dass Microsoft schon ein paar neue Technologien herausbringt und .NET überholt sein wird, während man noch die
ersten Beispielanwendungen schreibt. Das wird also kein Mensch ernsthaft betreiben wollen. Also wird man meistens VS.NET oder ähnlich
leistungsfähige Werkzeuge einsetzen, so wie es unter .NET-Entwicklern Standard ist.
Zurück zu den Fragen
Von .NET unterstützte Programmiersprachen
Momentan unterstützt .NET die folgenden Sprachen:
Die oben genannten Sprachen sind von Microsoft. Es gibt inzwischen viele andere Anbieter, die Compiler für andere Sprachen mit
.NET-Unterstützung geschrieben haben. Dazu gehört auch:
Eine komplette Liste der .NET Programmiersprachen finden Sie hier: www.DotNetLanguages.net
Zurück zu den Fragen
Ist .NET plattform-unabhängig?
Viele stellen die Frage: "Java ist plattform-unabhängig, wie steht es mit .NET?.
Die Antwort lautet "Ja und nein"!
Der Code, den man schreibt, ist pattform-unabhängig, weil alles, was man schreibt, nach dem Compilieren MSIL als Ergebnis hat. Es
gibt keinen Maschinencode, der vom Betriebssystem oder der CPU abhängt. Wenn aber die MSIL ausgeführt wird, konvertiert das .NET Framework
auf dem Ausführungsrechner die MSIL in echten plattform-spezifischen Code.
Wenn man also seine .NET-EXE auf einem Windows-Rechner startet, konvertiert das .NET Framework für Windows diesen in nativen
Windows-Code und führt diesen dann aus. Wenn man die gleiche .NET-EXE unter Unix oder Linux startet, konvertiert das .NET Framework
für Unix bzw Linux diesen Code in echten Unix- bzw Linux-nativen Code und führt diesen dann aus. Das bedeutet, dass der Code
absolut plattform-unabhängig ist und überall läuft!
Aber die Sache hat einen Haken... es gibt momentan kein .NET Framework für Unix oder Linux. Microsoft hat das .NET Framework
nur für Windows geschrieben. Für weitere Betriebssysteme ist eine .NET-Version unter dem Namen Mono in Arbeit (mehr dazu auf der
Mono-Homepage, eine Kurzmeldung zum derzeitigen Entwicklungsstand von Mono finden Sie
hier)
Zurück zu den Fragen
Lohnt es sich, .NET zu lernen?
Sie sollten schon einen Job haben, der sehr gut ist und für die nächsten 10 Jahre sicher ist. Dann brauchen Sie wahrscheinlich
keine Zeit zu investieren, um diese neue Technologie zu lernen.
Wenn Sie aber nicht so sicher sind, was die Zukunft Ihres Jobs angeht, dann sollten Sie schon ein bisschen Zeit investieren, damit
Sie auch in den nächsten Jahren wettbewerbsfähig sind!
Zurück zu den Fragen
Wie lange dauert es, .NET zu lernen?
Das hängt natürlich stark von der eigenen Lerngeschwindigkeit ab. Wer Visual Basic oder C++ oder Visual Objects kennt, kann auch in .NET in ein bis
zwei Monaten zügig programmieren. Wenn man Neuling in Sachen Programmierung ist, liegen realistische Schätzungen eher bei sechs Monaten,
bis man sich in der .NET-Welt einigermassen wohlfühlt.
Zurück zu den Fragen
Die Zukunft von .NET
Microsoft richtet all seine Technologien darauf aus, dass sie entweder auf .NET aufbauen oder sich zumindest auf .NET beziehen.
Sogar die nächste Version des SQL Server wird Stored Procedures geschrieben in .NET-Sprachen unterstützen. Das .NET Laufzeitsystem
wird standardmäßig Teil aller zukünftigen Betriebssysteme sein.
Kurz gesagt: Wenn man gerne Microsoft-Programmiertechnologien nutzt oder nutzen muss, dann gibt es keine andere Wahl als .NET.
Zurück zu den Fragen
Die obigen Texte sind nur leicht modifizierte Übersetzungen des Artikels auf DotNetSpider.COM: What is .NET
Mehr zu .NET....
Letzte Änderung des Inhalts auf dieser Seite: 03.09.05
|