Porting: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Annullata la modifica 103926273 di Folto82 (discussione) WP:CORR
Etichetta: Annulla
Pil56-bot (discussione | contributi)
m smistamento lavoro sporco e fix vari
Riga 23:
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 (tecnologia)tecnica|standard]] del linguaggio, ovvero una sua descrizione il più possibile precisa e non ambigua, eventualmente gestita da un ente "autorevole" che abbia il compito di certificare l'aderenza di [[compilatore|compilatori]] e interpreti a tale descrizione. Un esempio celebre in questo senso è data dal [[linguaggio C]], di cui hanno fornito uno standard prima [[ANSI]] e poi [[ISO]]. Di conseguenza, i programmi C sono portabili nel senso che possono essere [[compilatore|compilati]] in un qualsiasi ambiente (grazie all'[[Application programming interface|API]] comune), ottenendo programmi in [[linguaggio macchina]] ovviamente diversi ma che esibiscono un comportamento [[semantica (informatica)|semanticamente]] equivalente.
 
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.
Riga 46:
*[[Stub (informatica)|Stub]]
 
{{portale|Informaticainformatica}}
 
[[Categoria:Concetti di programmazione]]