Переносимость программного обеспечения - возможность переносить написанную компьютерную программу на другую аппаратную платформу или в другую операционную систему.
В зависимости от типа языка и того, как интерпретируется готовая программа ( скомпилированный язык, промежуточный язык / код , интерпретируемый язык ), передача программного обеспечения может потребовать различных видов вмешательства.
Проще всего переместить интерпретированную программу (для этого может потребоваться только установить библиотеки или соответствующую среду разработки) и программу, скомпилированную в так называемую промежуточный код.
В случае скомпилированной программы требуется либо запустить соответствующий эмулятор , который для этой программы будет имитировать исходную рабочую среду, либо, по крайней мере, перекомпилировать.
В зависимости от того, насколько работа конкретной программы зависит от конкретной аппаратной или программной среды, она будет зависеть от того, насколько глубоким вмешательством в ее работу будут требования.
Чтобы добиться переносимости программного обеспечения, программы в настоящее время пишутся как можно более абстрактно с определенного аппаратного уровня или операционной системы, используя вместо этого соответствующие библиотеки.
Это может снизить скорость работы (тогда конкретные преимущества конкретных платформ будут опущены), но это дает универсальность.