Categories: Unternehmen

Visual Studio.Net

Highlight des .Net-Megaprojekts ist natürlich die C#-Sprache mit ihrem Nebenprodukt Visual Basic.Net. C# und seine Java-ähnlichen Features, wie z. B. Speicherbereinigung und Namensraumhierarchie, haben viel Aufmerksamkeit erregt. VB.Net wurde dagegen viel weniger beachtet, wodurch eine einfache Tatsache leicht übersehen werden konnte: VB.Net ähnelt C# so sehr, dass man sich fragen muss, weshalb Microsoft überhaupt zwei separate Sprachen geschaffen hat. Sicher, die Syntax von VB.Net ist umfangreicher, während C# eher an C erinnert, dennoch basieren beide Sprachen auf demselben Programmierrahmen und kompilieren in einen fast identischen MSIL-Code.

Nur bei oberflächlicher Betrachtung kann eine Ähnlichkeit von VB.Net zu früheren Versionen von Visual Basic festgestellt werden. Mit VB.Net versucht Microsoft, Visual Basic als brauchbare Sprache für die Entwicklung von Unternehmensanwendungen zu etablieren, indem u.a. grundlegende Features wie Vererbung, Namensräume und Multi-Threading hinzugefügt wurden, wobei die einfache Syntax noch teilweise erhalten blieb.

Dennoch kann Microsoft nicht von der Tatsache ablenken, dass die Umstellung von einer vielgelobten Skriptsprache auf eine rein objekt-orientierte Sprache mit Schwierigkeiten verbunden ist. Es stellt sich die grundlegende Frage: Werden Millionen von mit Visual Basic 6.0 arbeitenden Entwicklern sich nun für VB.Net entscheiden, nur weil diese Sprache einige syntaktische Ähnlichkeiten mit Visual Basic aufweist? Tatsächlich wäre für die meisten Visual Basic 6.0-Entwickler eine Umstellung auf die leistungsstärkere Sprache C# auch nicht schwieriger, was allerdings auch für eine Umstellung auf Java gilt.

VS.Net ist nicht nur mit C# und VB.Net verfügbar, sondern auch mit Visual C++ .Net und Visual J# (wobei für Visual J# bis zu seiner Markteinführung Ende des Jahres lediglich Vorbestellungen möglich sind). Alle mit VS.Net erhältlichen Sprachen kompilieren in MSIL-Code, wie dies auch 20 andere Sprachen tun, die gegenwärtig über MSIL-Compiler verfügen, so u.a. COBOL, Perl und Python. Indem C# mit den höchsten Leistungsmerkmalen ausgestattet wurde, machte Microsoft jedoch klar, dass C# die erste Wahl für die Microsoft.Net-Entwicklung darstellt.

Sowohl C# als auch VB.Net bieten durch verwalteten Code eine Absicherung gegen Programmierfehler. Das bedeutet, dass der Programmcode in einer Laufzeitumgebung (auch „Sandkasten“ genannt) verarbeitet wird, in der sämtliche Aufrufe an das zugrunde liegende Betriebssystem und an Speicheradressen an eine „sichere“ Programmierschnittstelle gehen, welche den direkten Zugang zu einigen besonders leistungsstarken und daher besonders komplizierten Features von C++ verhindert. Erfahrene C#-Entwickler können jedoch den Trick anwenden, bestimmte Teile des Codes als „nicht sicher“ zu markieren, um so direkten Zugriff auf die Speicher und die OS-Bibliotheken zu erhalten, wobei zugunsten von mehr Leistung teilweise auf den Schutz durch den verwalteten Code verzichtet wird. Java bietet diese Option nicht (ebenso wenig wie natürlich VB.Net), wobei dahingestellt bleibt, ob dies einen Vorteil oder Nachteil bedeutet.

Erklärtes Ziel von C# ist es, eine für die Schaffung von Unternehmensanwendungen geeignete Sprache mit der syntaktischen Einfachheit von Visual Basic zu liefern. Böse Zungen behaupten, dass es sich bei C# lediglich um eine Nachahmung von Java handelt, was allerdings schwer zu belegen ist: Beide Sprachen basieren auf C und werden in einer verwalteten Laufzeitumgebung ausgeführt, worin sich der Großteil der Ähnlichkeiten wie Syntax, Speicherbereinigung und Namensraumhierarchie begründet. C# behält außerdem die Enumerationen aus C++ bei, was in Java nicht der Fall ist. Die größte Ähnlichkeit mit Java weist C# in der Handhabung der Komponenten wie Eigenschaften, Methoden, Ereignissen und Attributen auf.

Die Diskussion um „Java hat dies – C# hat jenes“ geht jedoch völlig am eigentlichen Punkt vorbei. Wenn eine Sprache Objekt-Orientierung, eine brauchbare Syntax und ausreichende Funktionen liefert, sollte man ihren Wert vor allem an den Leistungen des Frameworks festmachen und nicht an vergleichsweise geringen Abweichungen in der Syntax. Letzten Endes verfügt C# über nur 60 Anweisungen, kann jedoch Tausende von .Net-Framework-Klassen verwenden. Und da sowohl .Net als auch J2EE für die Entwicklung von Anwendungen der Unternehmensklasse konzipiert wurden, darf es nicht überraschen, wenn sich die beiden Systeme vom Sandkasten für die Ausführung von verwaltetem Code über das Standardverfahren für den Datenbankzugriff bis zur Vorlage für die Erstellung interaktiver Webseiten stark ähneln. Ein Vergleich von Java mit C# oder von J2EE mit .Net ergibt erheblich mehr Ähnlichkeiten als Unterschiede.

Page: 1 2 3 4 5 6

ZDNet.de Redaktion

Recent Posts

Studie: Cyberattacken haben auch psychische Auswirkungen auf Opfer

Eine Studie von Akamai deckt Folgen wie emotionaler Stress und Rückgang des Selbstwertgefühls auf. Ein…

1 Woche ago

Windows 11 24H2: Probleme mit dem System File Checker

Das Tool liefert wiederholt Falschmeldungen. Es erkennt bei einem Scan bereits reparierte Systemdateien weiterhin als…

1 Woche ago

Nach Cyberangriff: Wayback Machine des Internet Archive wieder online

Ein DDoS-Angriff legt große Teil des Internet Archive lahm. Während die Wayback Machine wieder im…

1 Woche ago

Lift2Market: Die Agentur für Webdesign, SEO und E-Mail-Marketing speziell für KMUs

In der heutigen digitalen Ära ist eine starke Online-Präsenz für kleine und mittlere Unternehmen (KMU)…

1 Woche ago

Studie zur Beliebtheit von Adblockern

Werbemüdigkeit ist weit verbreitet. Fast jeder zweite deutsche Internetnutzer setzt Adblocker ein, um Online-Werbung zu…

1 Woche ago

Weltweiter Tabletmarkt wächst 15 Prozent im zweiten Quartal

Neue Geräte von Apple und Samsung kurbeln die Nachfrage an. Aber auch chinesische Hersteller wie…

1 Woche ago