Home - Programmieren - David gegen Goliath
Hinweis: Für den hier dargestellte Inhalt ist nicht der Betreiber der Plattform, sondern der jeweilige Autor verantwortlich. Falls Sie Missbrauch vermuten, bitten wir Sie, uns unter missbrauch@it-academy.cc zu kontaktieren. [Druckansicht] [Als E-Mail senden] [Kommentar verfassen] Wird sich Microsoft .NET gegen Java durchsetzen? .NET steckt noch in den Kinderschuhen, ist Java technologisch dennoch ebenbürtig und wird in den nächsten Jahren stark weiterentwickelt werden. In Anbetracht der Tatsache, dass Microsoft unumstrittener Marktführer bei Desktop-PCs ist und äußerst gutes Marketing betreibt, liegt die Annahme nahe, dass sich .NET früher oder später immer mehr durchsetzen wird, aber was wird von dieser Entwicklung zu erwarten sein? Trotz aller Vorteile oder Nachteile liegt der springende Punkt in der Plattformunabhängigkeit des Codes. Philosophie der Plattformen Obwohl Java und .NET ihre Philosophie in unterschiedliche Richtungen entwickelten ist das Endprodukt nicht sehr unähnlich. Der größte Unterschied zwischen den Plattformen liegt in der Idee, für die sie letzten Endes entwickelt wurden. Suns Java wurde mit dem Ziel entwickelt auf jeder Plattform laufen zu können, für die es eine Java Virtual Machine gibt. Dem ähnlich läuft ein .NET-Programm ebenfalls auf jedem Computer mit installiertem CLR (Common Language Runtime). Microsoft bedient sich dabei einer eigenen Sprache, nämlich der Microsoft Intermediate Language (MSIL), während Java-Programme in Bytecode umgewandelt werden. Microsoft bietet durch MSIL den eminenten Vorteil: jede .NET-Klasse im eigenen Projekt einzubinden, egal in welcher Sprache diese erstellt wurde, während man in Java nur Java-Klassen verwenden kann. Der wirtschaftliche Vorteil einer solchen Technologie liegt auf der Hand. Jeder Entwickler kann die Sprache wählen, die ihm am besten gefällt und trotzdem entwickelt er global einsetzbare Klassen, da diese in MSIL übersetzt werden. Somit können Entwickler viel Zeit (und Kosten) sparen und ihren Kunden schneller und günstiger auf individuelle Bedürfnisse angepasste Programme liefern können. Außerdem erlaubt Microsoft mit dieser Technologie, dass Entwickler nicht unbedingt eine neue Sprache wie C# lernen müssen, sondern ihren alten Code direkt ins .NET-Framework einbinden und in der .NET-Variante ihrer Sprache weiterentwickeln können. Microsofts Schmäh mit dem "portablen Code" Da es ähnlich wie der Java VM auch in .NET die CLR gibt, könnte man ja annehmen, dass .NET ebenfalls das Potential hat plattformunabhängig zu sein. Dies ist zwar nicht falsch, allerdings wurde .NET eindeutig darauf ausgelegt auf Windows-Rechnern einsetzbar zu sein. Es wurde zwar von Microsoft für FreeBSD und Mac OS X 10.2 das Framework „Rotor“ entwickelt, es scheint aber von Microsoft Absicht zu sein, dass hier die Linux-Commuity als härtester Konkurrent ausgespart wurde. Die Entwicklung wurde dennoch von einem Projektteam für Linux unter dem Namen Mono gestartet. Dieses Projekt wird von Microsoft weder unterstützt noch bekämpft. Ist denn .NET nur eine schlechte Kopie von Java? Da die Philosphie der beiden Plattformen nicht unähnlich ist, könnte man tatsächlich annehmen, dass .NET die von Sun abgekupferte Microsoft-Variation ist. Beide Sprachen sind voll objektorientiert, unterstützen Einfachvererbung und haben eine integrierte Garbage Collection. Beide Sprachen warten mit einer Vielzahl an vorbereiteten Klassen auf wie UI, IO, Security, Web Access, Collecting Objects und anderen Standardfunktionen. Trotz einiger marginaler Unterschiede kann man keiner Plattform eine Auszeichnung im Fach "Überlegenheit" verleihen. Die Bewertung dieser Unterschiede liegt eher in den Präferenzen des Programmierers. Etwa stelle Javas Exception Handling sicher, dass Fehler absichtlich unter den Teppich gekehrt werden müssten, während man in etwa in C# Exceptions behandeln kann, aber nicht muss. Wenn also ein Java-Programm läuft, dann läuft es, während bei C# unerwarteterweise Fehler auftreten könnten. IDE, hier hat MS die Nase vorne Das Visual Studio .NET ist eindeutig das hochwertigste am Markt verfügbare Entwicklungstool. Obgleich etwa der JBuilder von Borland oder das Eclipse-Project von unterschiedlichen Entwicklern (IBM etc.) einen ähnlichen Funktionsumfang bieten, sind es gerade die kleinen Spielereien, bei denen MS die Nase vorne hat. Aus eigener Erfahrung kann ich sagen, dass die Code Completion schneller und praktischer abläuft (meistens ist es nur notwendig 1-2 Buchstaben zu tippen) und auch Fragen zu Fehlern werden durch direktes "Nachschlagen" im installierten MSDN schnell beantwortet, während dies bei Java nicht so gut gelöst ist. Eigentlich ist .NET also etwas für die bequemeren Programmierer und wird sich nicht bei Profi-Entwicklern durchsetzen? Ganz im Gegenteil. Microsoft ermöglich durch die beiden großen Vorteile, nämlich dem extrem guten Visual Studio und der MSIL eine rasche Entwicklung von Programmen, da man schnell eine passende Klasse findet anstatt sie selbst programmieren zu müssen. Hier bietet sich also für Unternehmen, deren Kunden vor allem Windows als Betriebssystem nutzen eine Chance Entwicklungszeit und –kosten zu verringern. Da Microsoft nicht viel Motivation zeigt die Plattformunabhängigkeit zu forcieren wird .NET vermutlich eher bei Clientprogrammen Verwendung finden, da hier Windows als OS stärker verbreitet ist. My 2 Cents
|
![]() ![]() ![]()
Autoren:04516
Artikel:00815 Glossar:04116 News:13565 Userbeiträge:16552 Queueeinträge:06254 ![]()
Projektsteuerung statt Anwesenheitskontrolle
MONDroid - your monitoring Solution for Android with PRTG-Support Red-Hosting jetzt mit erweitertem Shop-Webhosting-Angebot [Mehr News] ![]()
Ihre Anforderungen an ein Online-Zeiterfassungs-Produkt?
|