10 Gründe
21.07.2004, 00:00 Uhr
Nicht ohne mein .NET
Der deutsche Spielepublisher Ascaron hat das Echtzeitstrategiespiel "Arena Wars" auf den Markt gebracht, das in C# unter .NET programmiert ist. dotnetpro hat den exDream-Entwickler Benjamin Nitschke nach der Motivation befragt, .NET als Plattform zu wählen.
Der deutsche Spielepublisher Ascaron hat das Echtzeitstrategiespiel "Arena Wars" auf den Markt gebracht. Das Besondere daran: Es ist laut Hersteller exDream entertainment in C# unter .NET programmiert und läuft unter dem Framework 1.1.
Galten bislang C oder C++ als die Sprachen der Wahl, wenn es um schnelle Grafikroutinen für Spiele ging, ist dieser Schritt von exDream entertainment auf die .NET-Plattform zumindest überraschend. Ein Argument gegen .NET war in der Vergangenheit doch immer die niedrigere Geschwindigkeit der Routinen. Wie man diese dennoch schnell machen kann, verriet Achim Oellers in seinem Artikel über die Programmierung mit Unsafe Code in der dotnetpro 5/2004.
dotnetpro hat den Entwickler bei exDream Benjamin Nitschke nach der Motivation befragt, .NET als Plattform zu wählen. Hier sind seine Argumente für .NET als Plattform für "Arena Wars":
- Bessere Performance: Trotz nicht-nativem Code schaffte es .NET auf eine bessere Performance durch viele neue Tools in der IDE und verbesserter Basis-Bausteine. Außerdem bringt das Wegfallen von Grunt-work mehr Zeit zum Verbessern der Performance.
- Erhöhte Zuverlässigkeit: Das .NET Framework wurde auf Konsistenz und Zuverlässigkeit gebaut. Gerade in den frühen Tagen war ein Haupteinsatzgebiet im Bereich WebServer, die ja auch sehr stabil laufen müssen.
- .NET bietet einen Produktivitäts-Vorteil gegenüber anderen Sprachen, nicht nur, weil es schon viele Basisklassen und Grundfunktionen gibt, sondern weil es von der 1. Zeile bis zum lauffähigen 1. Run sehr schnell geht.
- Security: Die integrierte .NET-Security ist wesentlich fortschrittlicher als in allen andern Sprachen, teilweise wird man selbst bei schlechtem Code dazu gezwungen, gute Sicherheitstechniken zu benutzen.
- Mächtiges Basis-Paket: Durch das umfangreiche .NET Framework mit einer Vielzahl an Klassen, die es in andern Sprachen gar nicht gibt oder die man sich selbst zusammenbauen muss, spart man viel Zeit. Wenn man also die Klassen des .NET Frameworks direkt weiterbenutzen kann, hat man einen enormen Zeitvorteil gegenüber andern Sprachen.
- Abwärts-Kompatibilität: Es ist zwar nicht möglich, direkt in einem C#-Programm Assembler oder natives C++ zu benutzen. Durch COM Interop kann man jedoch zum einen auf viele existierende COM-Dlls zugreifen und zum andern auch leicht selbst Code auslagern, der entweder in .NET nicht möglich oder wesentlich komplizierter ist. Ganz wichtig ist auch, dass die IDE und .NET einem weiterhelfen, falls man nicht genau weiß, wie man auf COM oder andere Dlls zugreifen kann. Wird eine Aufrufmethode angewählt, sucht sich der Compiler das am besten passende selbst heraus. "No more DLL-Hell".
- Standards: .NET zwingt den Entwickler neuste Standards zu benutzen und damit vertraut zu werden, unter anderem durch XML und SOAP. Jeder der einmal eine Web Application oder einen Web Service geschrieben hat, bekommt das ganz schnell zu spüren.
- Array-Checks: Die Hauptgründe für Sicherheitslücken und Bugs, auch bei Systemen wie Linux und Co., sind und bleiben Buffer-Overflows, Out of index-Zugriffe und generelle Array Zugriffsfehler im Programmcode. In .NET wird jeder Zugriff überprüft. Dadurch ist es praktisch im Managed Enviroment nicht mehr möglich, solche Fehler zu produzieren, was den gesamten Code wesentlich stabiler macht.
- Moderne Sprache: Während C++ in der Spiele- und sonstigen Software-Entwicklung weit verbreitet ist, ist es eine schon sehr alte Sprache, die eine Menge Nachteile mit sich bringt, auch wenn man die unzählige Menge an Libraries dafür nicht unterschätzen darf. C# ist eine neue Sprache, aus der eine Vielzahl von alten Fehlern und Unschönheiten ausgebügelt sind. Sie macht das Programmieren wesentlich stressfreier.
- Support: Zwar war der Developer-Support am Anfang noch nicht optimal - zum Beispiel gab es keinen DirectX-Support im ersten Jahr von .NET - aber inzwischen ist Microsoft bemüht, viel für seine Entwickler zu tun. So kann man sich zum Beispiel die Visual Studio 2005 Beta einfach im Internet herunterladen. Auch viele andere Entwickler, die inzwischen auf .NET programmieren, unterstützen sich untereinander sehr gut.