Porting: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
Etichette: Modifica da mobile Modifica da web per mobile |
|||
| (8 versioni intermedie di 6 utenti non mostrate) | |||
Riga 1:
{{F|programmazione|febbraio 2013}}
La '''portabilità''' è la caratteristica di un software (detto quindi '''portabile''') di poter essere facilmente sottoposto a porting, con un impegno decisamente inferiore rispetto a quello che costerebbe ricreare da zero le stesse funzionalità nelle nuove piattaforme. A volte con portabilità si indica in maniera più generale possibile l'indipendenza in fase di [[esecuzione (informatica)|esecuzione]] dalla piattaforma utilizzata.
Due attività collegate con il porting, ma distinte da esso, sono l'[[emulatore|emulazione]] e la compilazione incrociata o [[cross-compilazione]].
==Descrizione==
Riga 9 ⟶ 13:
Nello scenario odierno, in cui calcolatori di ogni tipo sono in grado di comunicare e scambiarsi dati e programmi attraverso [[Internet]], la ''portabilità'' rappresenta un fattore spesso decisivo nella scelta di tecnologie, metodologie e strumenti per la produzione del software. Allo stesso tempo, l'emergere di standard come quelli promulgati da [[ISO]] e [[ANSI]] (p.es. riguardo a formati di archiviazione dati o [[linguaggio di programmazione|linguaggi di programmazione]]), e la conseguente convergenza di tecnologie e sistemi informatici rispetto ad almeno alcuni aspetti del loro funzionamento, gioca evidentemente a favore della portabilità del software in generale.
=== Cause ===
Riga 23 ⟶ 27:
La portabilità dei programmi dipende essenzialmente dal [[linguaggio di programmazione]] usato. Alcuni linguaggi non si possono considerare ''portabili'' (ovvero non consentono la scrittura di programmi portabili) per il semplice motivo che per alcuni ambienti non esiste un [[interprete (informatica)|interprete]] o [[compilatore]] del linguaggio; oppure perché i compilatori o interpreti disponibili in diversi ambienti presentano alcune differenze più o meno sottili relativamente alla [[sintassi]] che accettano o alla [[semantica (informatica)|semantica]] che attribuiscono ad alcuni costrutti; cosicché, un programma che funziona correttamente su una macchina potrebbe esibire dei malfunzionamenti più o meno gravi, o addirittura [[compilatore|non compilare]], su un'altra.
Quest'ultimo problema può essere risolto pubblicando uno [[norma
Si osservi che nonostante il C e il C++ siano linguaggi portabili, la diversità dei compilatori dei due linguaggi di programmazione pone una serie di problemi alla portabilità. Il solo fatto di avere un programma in C oppure in C++ non garantisce la portabilità del medesimo e quindi spesso bisogna fare uno sforzo aggiuntivo per superare le differenze tra i due sistemi e tra i compilatori.
Una forma più radicale di portabilità viene fornita dai linguaggi interpretati,
==Voci correlate==▼
== Collegamenti esterni ==
* {{FOLDOC}}
▲==Voci correlate==
▲* [[Emulatore]]
▲* [[Cross-compilazione]]
▲* [[Multipiattaforma]]
▲* [[Programmazione (informatica)]]
▲* [[Software]]
▲* [[Stub (informatica)|Stub]]
▲{{portale|Informatica}}
[[Categoria:Concetti di programmazione]]
| |||