Was ist Plattformunabhängigkeit? Sind plattformübergreifende und plattformübergreifende Unabhängigkeit gleich?


11

Was bedeutet die Plattformunabhängigkeit wirklich? Was ist das Kriterium, um eine Sprachplattform als unabhängig zu bezeichnen? Sind plattformübergreifende und plattformübergreifende Unabhängigkeit gleich?

(Dies mag eine Frage zum Selbststudium sein, aber ich würde gerne von Experten von Stack Overflow hören. Es gibt viele Definitionen und Ansichten dazu im Internet und einige von ihnen sind verwirrend.)


Ich denke, dass der Begriff "plattformunabhängig" eher für bestimmte Programmprodukte geeignet ist, nicht für die Sprache selbst.

3
Ich persönlich sehe Java als plattformunabhängig an, da die JVM auf jeder Plattform für jedes Java-Programm den gleichen Satz von Anweisungen und Code unterstützen muss (für einen generischen Wert von "any"). Andererseits wird C # als plattformübergreifend angesehen, da es sowohl auf Mono als auch auf .NET ausgeführt wird, jedoch nicht in gleichem Maße.

1
@Randolph Sie scheinen zu vergessen, dass so viel von der Dotnet-Infrastruktur für Windows müde ist - zB all das UI-Zeug. Sie können die Plattformunabhängigkeit von Java nicht mit dotnet + mono vergleichen, es ist nicht einmal nah. Es gibt so viele Teile, die als Teil des Standards bezeichnet werden. Das einzige Problem ist, dass sie nur unter Windows funktionieren. Vergessen wir nicht, dass Pinvoke überall verstreut ist und die Verwendung nicht tragbar ist.
mP01

Könnten Sie bitte den Unterschied zwischen plattformübergreifender und plattformübergreifender Unabhängigkeit erklären?

@mP - das habe ich gar nicht vergessen. Tatsächlich dachte ich, ich sei ziemlich klar, als ich "nicht im gleichen Maße" sagte, weil der größte Teil der Benutzeroberfläche an Windows gebunden ist. Ich habe Java NICHT mit .NET und Mono verglichen, wenn Sie sorgfältig lesen: Ich sagte, dass Java plattformunabhängig und .NET / Mono plattformübergreifend ist. Wenn das ein Vergleich ist, bedeutet das, dass Äpfel und Birnen auch gleichwertig sein sollten. Vergib mir, wenn ich als Garantie rüberkomme, aber ich schätze es nicht, wenn mir Worte in den Mund genommen werden.

Antworten:


8

Keine Plattformunabhängigkeit und plattformübergreifend sind nicht gleich. Schauen wir uns die folgenden Erklärungen an, um sie zu verstehen.


Plattformübergreifende Software


Plattformübergreifend oder plattformübergreifend ist ein Attribut, das Computersoftware oder Computermethoden und -konzepten verliehen wird, die auf mehreren Computerplattformen implementiert sind und zusammenarbeiten

Es kann in zwei Typen unterteilt werden.

  1. Man benötigt eine individuelle Erstellung oder Zusammenstellung für jede Plattform, die es unterstützt,
  2. Und die andere kann ohne spezielle Vorbereitung direkt auf jeder Plattform ausgeführt werden, z. B. Software, die in einer interpretierten Sprache oder einem vorkompilierten tragbaren Bytecode geschrieben ist, für den die Interpreter oder Laufzeitpakete gemeinsame oder Standardkomponenten aller Plattformen sind.

Eine plattformübergreifende oder plattformübergreifende Software: Software ist auf mehr als einer Plattform (Betriebssystemen) verfügbar. Dies könnte zwei Dinge bedeuten -

  1. Die Software wird mit verschiedenen Builds / Anwendungen für verschiedene Plattformen geliefert [verschiedene Pakete für Windows, dieses für Linux].
  2. Die Software kann (mit demselben Download) auf mehreren Plattformen ausgeführt werden, jedoch NICHT auf allen.

Plattformunabhängig


Plattformunabhängige Software basiert nicht auf speziellen Funktionen einer einzelnen Plattform oder behandelt diese speziellen Funktionen in diesem Fall so, dass sie mit mehreren Plattformen umgehen kann.

Plattformunabhängige Software: Plattformunabhängige Software im engeren Sinne bedeutet -

  • Überall installieren und überall ausführen - egal wo Sie sind. Obwohl Sie möglicherweise unterschiedliche Installationsprogramme (für unterschiedliche Plattformen) erhalten, ist dies nur für Benutzer einfacher. Es gibt Optionen, die Sie direkt aus dem Quellcode installieren können.




Aus verschiedenen Quellen aggregiert


@ Shekhar: Zufällig habe auch ich die gleichen Quellen (Wikipedia UND openalternatives.org/site/2008/08/… ) gefunden, von denen Sie das Zeug genommen haben könnten. Vielen Dank.

@ CSharpLearner, wie ich am Ende meines Beitrags erwähnt habe

0

Meine "Darmdefinition" stimmt mit dem überein, was Shekhar gesagt hat. Multiplattform == Builds für viele inkompatible Plattformen, plattformunabhängig == funktioniert unabhängig von der Plattform.

Wenn das Betriebssystem platform == leicht zu erkennen ist, ist ein Python-Skript in diesem Fall wahrscheinlich "plattformunabhängig", solange auf dem Betriebssystem, auf dem Sie es ausführen möchten, ein Python-Interpreter vorhanden ist.

In einer Art und Weise, die Skript Plattform ist Python. Plattformen sind schließlich Standardstapel von Software + Hardware, die einige Funktionen abstrahieren.

Ich bin mir jedoch nicht sicher, worum es mir geht.


0

Um die Antwort von Shekhar_Pro etwas zu erweitern ,

Platform Independent führt jede Plattform aus. Denken Sie an Java- oder Python-Anwendungen ohne plattformspezifische Inhalte, die unter Windows, Mac und Linux ausgeführt werden können, ohne dass sie neu kompiliert oder neu geschrieben werden müssen.

Plattformübergreifende Produkte sind ein völlig anderer Fischkessel. Wenn einige Aspekte eines plattformübergreifenden Produkts gemeinsame Anforderungen und sogar Quellcode aufweisen (z. B. einige in C implementierte mathematische Funktionen), wird jede Produktversion vollständig für eine bestimmte Plattform geschrieben und kompiliert. Denken Sie beispielsweise an Mozilla Firefox, auf dem verschiedene Versionen für Mac, Windows, Linux, BeOS, Android usw. ausgeführt werden. Jede Version ist ähnlich und kann sogar kompatible Datenstrukturen haben, aber jede Version wird auch unabhängig entwickelt und häufig mit völlig unterschiedlichen Programmiersprachen und APIs, unterschiedlicher Versionsnummerierung usw. geschrieben.


-1

Plattformunabhängigkeit bedeutet, dass ein Programm, das auf einer Plattform oder einem Betriebssystem geschrieben, getestet und funktionsfähig ist, auf einer anderen Plattform / einem anderen Betriebssystem unverändert funktioniert. Wenn es in ein anderes Verzeichnis kopiert wird, müssen für einige kleine Konfigurationsdateien möglicherweise Pfade festgelegt werden, die jedoch nicht funktionieren sollten.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.