Den Begriff "Plattformunabhängig" zu diskutieren bringt meiner Meinung nach nichts, ohne nicht die passende "Dimension" dazu zu nennen (Sprache, Laufzeit, Technologie, Programm). Man kann eigentlich immer eindeutig sagen, ob etwas plattformunabhängig ist oder nicht.
Ein Auszug aus der englischen Wikipedia:
Der Text betrifft also die Dimension "Programm". Hier können natürlich auch C/++ Programme plattformunabhängig sein, weil man sie (wie schon von ice-breaker gesagt wurde) für verschiedene Plattformen bauen kann.
Man könnte aber auch die Dimension "Sprache" betrachten. Es gibt nicht für alle Systeme eine JVM? Interessiert Java bei dieser Betrachtungsweise ansich nicht, Java ist deswegen trotzdem hochgradig plattformunabhängig. C/++ hingegen ist aus dieser Sicht jedoch nicht unabhängig, denn egal wieviel hunderte Compiler für ebensoviele Plattformen es gibt, es gibt kein Abstraktionsniveau und auf verschiedenen Plattformen lauten diverse Calls und Commands nun mal anders.
Betrachtet man hingegen die Technologie, so ist C/++ hochgradig plattformunabhängig. Es gibt quasi nichts, für das es keinen C-Compiler gibt. Java macht die Sache nicht ganz so gut, denn Plattformen mit Microcontroller interessieren sich i.d.R. beispielsweise nicht für die JVM. .NET hingegen steht hier eher schlecht da, denn trotz völlig plattformunabhängiger Sprache (C# beispielsweise) läuft .NET nur auf wenigen Plattformen.
Wie du siehst, gibt es also immer verschiedene Blickwinkel, "Die Plattformunabhängikeit" gibt es nicht.
Ein Auszug aus der englischen Wikipedia:
Cross-platform software may be divided into two types; one requires individual building or compilation for each platform that it supports, and the other one can be directly run on any platform without special preparation, e.g., software written in an interpreted language or pre-compiled portable bytecode
Der Text betrifft also die Dimension "Programm". Hier können natürlich auch C/++ Programme plattformunabhängig sein, weil man sie (wie schon von ice-breaker gesagt wurde) für verschiedene Plattformen bauen kann.
Man könnte aber auch die Dimension "Sprache" betrachten. Es gibt nicht für alle Systeme eine JVM? Interessiert Java bei dieser Betrachtungsweise ansich nicht, Java ist deswegen trotzdem hochgradig plattformunabhängig. C/++ hingegen ist aus dieser Sicht jedoch nicht unabhängig, denn egal wieviel hunderte Compiler für ebensoviele Plattformen es gibt, es gibt kein Abstraktionsniveau und auf verschiedenen Plattformen lauten diverse Calls und Commands nun mal anders.
Betrachtet man hingegen die Technologie, so ist C/++ hochgradig plattformunabhängig. Es gibt quasi nichts, für das es keinen C-Compiler gibt. Java macht die Sache nicht ganz so gut, denn Plattformen mit Microcontroller interessieren sich i.d.R. beispielsweise nicht für die JVM. .NET hingegen steht hier eher schlecht da, denn trotz völlig plattformunabhängiger Sprache (C# beispielsweise) läuft .NET nur auf wenigen Plattformen.
Wie du siehst, gibt es also immer verschiedene Blickwinkel, "Die Plattformunabhängikeit" gibt es nicht.
Zuletzt bearbeitet: