Die Community zu .NET und Classic VB.
Menü

Das .NET-Phänomen

 von 

Einführung  

Anbei ein neuer Bericht zu .NET. Im Gegensatz zu meinem "Erfahrungsbericht" habe ich hier Informationen über die .NET-Technologie an sich zusammenfefaßt.

Mit freundlichen Grüßen

Teil 1 - 10.5.2001  

In diesem Artikel möchte ich allgemein das Thema .NET (gesprochen: dot net) abhandeln, ohne dabei spezifisch auf einzelne Sprachen einzugehen.

.NET ist nicht wie viele meinen Microsofts JAVA sondern eine "Laufzeitumgebung" für etliche Programmiersprachen, nicht nur von Microsoft. So sind derzeit schon über 30 Sprachen auf .NET portiert oder komplett neu Entwickelt. Die Palette reicht von Fortran und Cobol über JAVA (ja auch JAVA) bis hin zu Visual Basic. .NET Programme werden nicht mehr Entwickelt, dann kompiliert und fertig, sondern die Programme werden in eine (für alle .NET Sprachen identische) Intermediate Language (IL) übersetzt. Wird ein Programm nun gestartet, wird es im Gegensatz zu JAVA nicht von einer Virtual Machine (VM) während der Laufzeit in Maschinencode übersetzt, sondern bei dem ersten Start in Maschinencode übersetzt und dann ohne weitere Interpreter ausgeführt. So ist bei C++ Anwendungen ein durchschnittlicher Leistungsverlust con ca. 3 - 4% zu messen. Bei Visual Basic soll es in vielen Fällen sogar eine Leistungssteigerung (!!) von bis zu 10% geben.

In .NET sollen die alten Win32 API nicht mehr genutzt werden. Dies allerdings (wie ich meine leider) doch noch möglich. Ohne diese Möglichkeit, wäre es nämlich deutlich leichter .NET auf andere Systeme zu Portieren (was theoretisch problemlos möglich wäre). Jetzt müssten Programme, welche die Win32 API nutzen außen vor gelassen werden, oder man müsste die Win32 API komplett auf andere Systeme portieren, was eigentlich auszuschließen ist.

Eine weitere große Änderung von .NET ist, dass in allen Sprachen die Befehle identisch sind. So wird es anstatt der sprachenspezifischen Befehle wie printf, print oder WriteLn eine allgemeingültige Schreibweise wie System.Console.WriteLine("Hallo Welt") geben. Zum Runden von Zahlen gibt es beispielsweise System.Math.Round.

Auf den ersten Blick mag dies erschrecken, da man ja sehr viel mehr schreiben muss, aber wenn man sich die Befehle anschaut sind sie gut strukturiert und durchdacht, so dass das Lernen leicht fallen sollte. Aber auch hier muss ich wieder ein leider einwerfen, es wird einen "Kompatibilitätsmodus" geben, in dem nahezu alle "alten" Befehle übernommen wurden. Dies halte ich für nicht sehr förderlich, da es so leider immer noch keine 100% einheitliche Schreibweise gibt und es selbst und Programmierern der selben Sprache immer wieder Missverständnisse geben wird.

Microsoft portiert die Sprachen C++, Visual Basic und FoxPro auf .NET. J++ fällt mit dem neuen Visual Studio weg. Aufgrund eines (4 jährigen) Lizenzstreites zwischen Microsoft und Sun, hat Microsoft die Entwicklung von J++ bereits vor einiger Zeit eingestellt. Dafür haben sie aber eine komplett neue Sprache namens C# (gesprochen: see sharp) entworfen. Diese Sprache gefällt mir persönlich sehr gut, da sie eine Kreuzung aus JAVA, C++ und Visual Basic ist. Jeweils die besten Eigenschaften wurden übernommen. Dies ist auch die einzige der Microsoft .NET Sprachen, zu der es bereits jetzt ein Haufen guter Bücher gibt. Empfehlen möchte ich "C Sharp - Die neue Sprache für Microsofts .NET-Plattform", da es von einem der Chef-"Designer" der Sprache geschrieben wurde. Das Buch ist sehr konsequent geschrieben und es wird auch sehr viel zu .NET im Allgemeinen erklärt. Wer erst mal nur einen Überblick über .NET und die (Microsoft) .NET Sprachen bekommen möchte, dem Empfehle ich .NET Crashkurs von Microsoft Press, welches voraussichtlich am 21.5. erscheinen wird.

Visual Basic .NET stehe ich noch mit der größten Skepsis gegenüber, weil Microsoft hier sehr unkonsequent war und sich zu sehr von der "schreienden" Visual Basic Comunity hat beeinflussen lassen. So sind hier Dinge die in allen anderen Microsoft .NET Sprachen umgesetzt wurden nicht umgesetzt worden.

Durch die neue IL ist es nun problemlos möglich z.B. eine C# Klassen von einer VB Klasse abzuleiten. Dies kann sehr hilfreich sein, da nun auch ein VB und ein C++ Programmierer problemlos zusammenarbeiten können ohne sich aufgrund der verschiedenen Sprachen zu behindern. Ein weiterer großer Schritt ist das die (schon etwas angegraute) COM Schnittstelle nun abgeschafft wird und durch das Komplett neue .NET Interface ersetzt wird. Die COM Schnittstelle war zu letzt sehr "durcheinander" geworden, da die vielen Anpassungen der Vergangenen Jahre nicht besonders gut in die Grundstruktur von COM passten. Es ist jedoch vollständig möglich über die COM .NET Klassen abzuleiten und andersherum (wobei ich mir hier nicht 100%ig sicher bin).

Ein weiterer großer Schritt der zur "Sprachkompatibilität" beiträgt ist das nun in allen .NET Sprachen die Variablen gleiche Namen tragen. VB-Programmierer dürften sich freuen, da die Variablen größtenteils so heißen wie aus den alten VB Versionen bekannt.

Ihre Meinung  

Falls Sie Fragen zu diesem Tutorial haben oder Ihre Erfahrung mit anderen Nutzern austauschen möchten, dann teilen Sie uns diese bitte in einem der unten vorhandenen Themen oder über einen neuen Beitrag mit. Hierzu können sie einfach einen Beitrag in einem zum Thema passenden Forum anlegen, welcher automatisch mit dieser Seite verknüpft wird.