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 🙂


Anmelden zum Antworten