Wenn ich das richtig verstanden habe ist C++ Plattformunabhängig
-
ANSI C++ ist Plattforumunabhängig; eine Konsole wird wohl doch jedes Betriebssystem haben.
Dagegen ist VC++ nicht unahängig, ist nur für Windows gedacht.
Warum also höre ich immer wieder das Java den Vorteil der Plattformunabhängigkeit gegenüber C++ hat?
-
Hallo,
*Standard*-C++ ist *theoretisch* platformunabhängig auf *Sourcecode-Ebene*. Du musst also dein Programm für jede Platform übersetzen.Java ist (theoretisch) platformunabhängig auf *Progamm-Ebene*. Du musst dein Programm nur *einmal* übersetzen, erhälst dann einen Byte-Code, der auf allen Java-kompatiblen Platformen ausgeführt werden kann.
Eigentlich ist Java aber nicht wirklich platformunabhängig. Java *ist* viel mehr eine Platform.
Bei C++ steht das theoretisch, da es a) keine ernsthaften Programme gibt, die reines Standard-C++ benutzen und da es b) derzeit noch unendliche viele Unterschiede zwischen der standardkonformität einzelner Compiler gibt.
Auf deutsch: Platformunabhängigkeit bzw. Portabilität in C++ bekommt man *nicht* geschenkt. Man muss *aktiv* dafür designen bzw. arbeiten. Mit den richtigen Bibliotheken und viel wissen über aktuelle Compilerunzulänglichkeiten ist es aber möglich.
Bei C sieht es da schon besser aus. Einen funktionierenden C Compiler gibt es heute eigentlich für jede Platform.
Für nicht triviale Programme ist aber auch Java kein Allheilmittel.
Bei zu naiver/uninformierter Anwendung gilt hier eher "Compile once, debug everywhere".
-
Griese schrieb:
ANSI C++ ist Plattforumunabhängig; eine Konsole wird wohl doch jedes Betriebssystem haben.
Dagegen ist VC++ nicht unahängig, ist nur für Windows gedacht.
Warum also höre ich immer wieder das Java den Vorteil der Plattformunabhängigkeit gegenüber C++ hat?
Weil Java einfach das Beste ist und alle deine Probleme löst. Du mußt nur hier unterschreiben und mir das Geld überweisen.
Man kann in Java plattformunabhängig viel mehr machen, ohne sich auf die Hilfe externer Bibliotheken verlassen zu müssen.
-
*Danke* für die *Information*.
-
* :p *
-
HumeSikkins schrieb:
Bei zu naiver/uninformierter Anwendung gilt hier eher "Compile once, debug everywhere".
*grins*
kannte ich noch nicht, schöner spruch