[
OT]
Zitat von
DeddyH:
Darf ich mal doof fragen, wieso man eine Programmiersprache benutzt, die im Allgemeinen wohl hauptsächlich wegen ihrer Plattformunabhängigkeit verwendet wird, um dann auf plattformabhängige Funktionen zurückgreifen zu wollen? Das soll keine Ironie sein, sondern interessiert mich tatsächlich.
Auch wenn ich jetzt nicht für jmd. anderen antworten möchte, bin ich mal so frei auch eine Antwort zu der Frage zu posten:
An sich gibt es ein paar gute Gründe. Die Sprache Java lebt (
imho) nicht nur von der Plattformunabhängigkeit, sondern auch von guten, kostenlosen IDEs, ein gutes Sprachdesign, eine große Community und jede Menge Bibliotheken und Frameworks. An sich also schon mal ein möglicher Grund Java zu verwenden.
Natürlich hast Du recht, ein weiterer (wichtiger) Aspekt ist sicher die Plattformunabhängigkeit. Für die reine Programmlogik ist es sicher an vielen Stellen ganz nett, dass man (ohne neu zu kompilieren oder was zu verändern) eine Applikation auf einer anderen Plattform starten kann. Allerdings möchte man natürlich auch nicht unnötig anders sein, als die nativen Anwendungen. Dazu gehört die (mittlerweile ganz ordentliche) Perfomance genauso wie das Verhalten und Erscheinungsbild. Es gibt ja z.B. immer wieder gerne Anwendungen, die unter Windows im Laufwerk "C:\" und "Program Files" etwas ablegen wollen. Etwas blöd wenn bei einem dt. (oder nicht englischen) Windows, noch blöder wenn unter "C:\" gar kein Laufwerk zu finden ist (z.B. bei den Asus-Pundits für Compact - Flash Platten reserviert). Hier ist es immer schöner, wenn man den korrekten Pfad ermittelt. Genauso kann man natürlich einen bestimmten Schlüssel in der Registry suchen wollen, die Registry dürfte man aber auf anderen Systemen vergeblich suchen. Hier ist es natürlich eine schöne Möglichkeit, dass man die Anwendung entsprechend anpasst und in Abhängigkeit von der Plattform einen Pfad / Schlüssel-Wert über eine native Funktion ermittelt.
Natürlich kann es für die hier genannten, fiktiven Beispiele bessere Alternativen für Java geben, aber nicht immer ist die Alternative bereits verfügbar. Auch noch ganz wichtig, es kann ja auch mal nötig sein, dass eine Java - Applikation auf z.B. ein Dongle (allgemeiner auf HW) zugreifen soll, da kann man natürlich auch nicht für alles eine plattformunabhängige Kapselung finden (da teilweise schon nicht alle Plattformen unterstützt werden).
[/
OT]