Cos'è l'indipendenza della piattaforma? La multipiattaforma e l'indipendenza della piattaforma sono uguali?


11

Cosa significa veramente l'indipendenza della piattaforma? Quali sono i criteri per definire una piattaforma linguistica indipendente? La multipiattaforma e l'indipendenza della piattaforma sono uguali?

(Questa potrebbe essere una domanda per lo studio autonomo, ma mi piacerebbe avere notizie dagli esperti di StackTranslate.it. Ci sono molte definizioni e punti di vista su Internet e alcune sono confuse)


Penso che il termine "indipendente dalla piattaforma" sia più adatto da applicare a un prodotto programmato specifico, non al linguaggio stesso.

3
Personalmente vedo Java come indipendente dalla piattaforma, perché la JVM su ciascuna piattaforma deve supportare lo stesso set di istruzioni e codice per qualsiasi programma Java (per un valore generico di "any"). D'altra parte, C # sarebbe considerato multipiattaforma in quanto gira su Mono e .NET, ma non nella stessa misura.

1
@Randolph sembra che dimentichi che gran parte dell'infrastruttura dotnet è stanca di Windows, ad esempio tutte le cose dell'interfaccia utente. Non è possibile confrontare l'indipendenza della piattaforma di Java con dotnet + mono, non è nemmeno vicina. Esistono così tante parti chiamate parte dello standard, l'unico problema è che funzionano solo su Windows. Non dimentichiamo che il pinvoke è sparso dappertutto e l'uso di esso non sarà portatile.
mP01,

Potresti spiegare la differenza tra indipendenza multipiattaforma e piattaforma?

@mP - Non l'ho dimenticato affatto. In effetti, ho pensato di essere abbastanza chiaro quando ho detto "non nella stessa misura", a causa del fatto che la maggior parte dell'interfaccia utente è legata a Windows. NON stavo confrontando Java con .NET e Mono, se leggi attentamente: ho detto che Java è indipendente dalla piattaforma e .NET / Mono è multipiattaforma. Se questo è un confronto, immagino significhi che anche mele e pere dovrebbero essere equivalenti. Scusami se mi imbatto in uno sfogo, ma non apprezzo le parole che mi vengono messe in bocca.

Risposte:


8

Nessuna indipendenza dalla piattaforma e multipiattaforma non sono uguali. diamo un'occhiata alle seguenti spiegazioni per capire.


Software multipiattaforma


multipiattaforma o multipiattaforma è un attributo conferito a software o metodi e concetti informatici che vengono implementati e interagiscono su più piattaforme informatiche

Può essere diviso in due tipi.

  1. Uno richiede la costruzione o la compilazione individuale per ogni piattaforma che supporta,
  2. E l'altro può essere eseguito direttamente su qualsiasi piattaforma senza preparazione speciale, ad esempio software scritto in un linguaggio interpretato o bytecode portatile precompilato per il quale gli interpreti o i pacchetti di runtime sono componenti comuni o standard di tutte le piattaforme.

Un software multipiattaforma o multipiattaforma: il software è disponibile su più piattaforme (sistemi operativi). Questo potrebbe significare due cose:

  1. Il software viene fornito con build / applicazioni diverse per piattaforme diverse [pacchetti diversi per Windows, questo per Linux].
  2. Il software può essere eseguito (con lo stesso download) su più piattaforme ma NON tutte.

Piattaforma indipendente


Il software indipendente dalla piattaforma non si basa su alcuna funzionalità speciale di una singola piattaforma o, in caso affermativo, gestisce tali funzionalità speciali in modo tale da poter gestire più piattaforme.

Software indipendente dalla piattaforma : software indipendente dalla piattaforma in senso stretto significa:

  • Installa ovunque e corri ovunque: non importa dove ti trovi. Anche se potresti avere installatori diversi (per piattaforme diverse), questo sarebbe solo per facilità degli utenti. Ci sarebbero opzioni per l'installazione direttamente dal codice sorgente.




Aggregato da diverse fonti


@Shekhar: Per coincidenza, anch'io ho colpito le stesse fonti (Wikipedia E openalternatives.org/site/2008/08/… ) da dove potresti aver preso la roba. Grazie mille.

@CSharpLearner come ho già detto in fondo al mio post

0

La mia "definizione viscerale" corrisponde a ciò che Shekhar disse; multipiattaforma == crea per molte piattaforme incompatibili, indipendente dalla piattaforma == funziona indipendentemente dalla piattaforma.

Ovviamente se il sistema operativo platform == è facile da vedere, in tal caso uno script Python sarebbe probabilmente "indipendente dalla piattaforma" fintanto che sul sistema operativo è previsto un interprete Python.

In un certo senso, la piattaforma dello script è Python. Le piattaforme sono, dopo tutto, pile standard di software + hardware che astraggono alcune funzionalità.

Non sono sicuro di quale sia il mio punto.


0

Per espandere leggermente la risposta di Shekhar_Pro ,

Platform Independent eseguirà qualsiasi piattaforma. Pensa alle applicazioni Java o Python senza elementi specifici della piattaforma che possono essere eseguiti su Windows, Mac e Linux senza necessariamente ricompilare o riscrivere.

I prodotti multipiattaforma sono un diverso bollitore di pesce. Laddove alcuni aspetti di un prodotto multipiattaforma potrebbero condividere requisiti comuni e persino codice sorgente (ad esempio alcune funzioni matematiche implementate in C), ogni versione del prodotto viene scritta e compilata interamente per una piattaforma specifica. Pensa a Mozilla Firefox, ad esempio, che ha diverse versioni in esecuzione su Mac, Windows, Linux, BeOS, Android e così via. Ogni versione è simile e può anche avere strutture di dati compatibili, ma ogni versione è anche sviluppata in modo indipendente e viene spesso scritta utilizzando linguaggi e API di programmazione completamente diversi, numerazione delle versioni diversa e così via.


-1

Indipendenza dalla piattaforma significa che un programma scritto, testato e funzionante su una piattaforma o sistema operativo funzionerà senza modifiche su una piattaforma / sistema operativo differente. Naturalmente se viene copiato in una directory diversa, alcuni piccoli file di configurazione potrebbero aver bisogno di percorsi riparati, ma a parte ciò dovrebbe funzionare.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.