Portabilidad

De Wikipedia, la enciclopedia libre
Saltar a: navegación, búsqueda

La portabilidad (en inglés portability) es uno de los conceptos clave en la programación de alto nivel.

Se define como la característica que posee un software para ejecutarse en diferentes plataformas, el código fuente del software es capaz de reutilizarse en vez de crearse un nuevo código cuando el software pasa de una plataforma a otra (ver la nota, a continuación de este párrafo). A mayor portabilidad menor es la dependencia del software con respecto a la plataforma.

(Nota: la portabilidad no tiene relación directa con el código fuente de una aplicación y, por eso, tampoco tiene relación directa con la reutilización del mismo. En cambio, la portabilidad se refiere exclusivamente a la propiedad que posee un software que le permite ser ejecutado en diferentes plataformas y/o sistemas operativos. De este modo, si un determinado software compilado pudiere ser ejecutado en cualquier sistema operativo, diríamos que ese software es 100% portable. Éste es el núcleo del concepto de portabilidad. En este sentido, la afirmación precedente: "el código fuente del software es capaz de reutilizarse en vez de crearse un nuevo código cuando el software pasa de una plataforma a otra", tiene como supuesto erróneo que tenemos acceso al código fuente, el cual podría reutilizarse (como es la meta que buscan los diseñadores de los lenguajes cuyos códigos corren sobre máquinas virtuales, como es el caso de Java y la familia DOT NET). Esto es incorrecto: la portabilidad es un concepto que se refiere exclusivamente a la relación software <-> plataforma).

El prerrequisito para la portabilidad es la abstracción generalizada entre la aplicación lógica y las interfaces del sistema. Cuando un software se puede compilar en diversas plataformas (x86, IA64, amd64, etc.), se dice que es multiplataforma. Esta característica es importante para el desarrollo de reducción costos, cuando se quiere hacer una misma aplicación.

En algunos casos el software es "independiente" de la plataforma y puede ejecutarse en plataformas diversas sin necesidad de ser compilado específicamente para cada una de ellas, a este tipo de software se le llama interpretado, donde un "intérprete" traduce (propiamente interpreta) las instrucciones en tiempo de ejecución para que sean entendidas por diferentes plataformas.

Véase también[editar]

Referencias[editar]

  • Diccionario de Informática. “Portabilidad”. Página 254. Editorial Cultural. 1999. Madrid, España. ISBN 84-8055-256-5
  • Mooney (1997). "Bringing Portability to the Software Process" (PDF). West Virginia University. Dept. of Statistics and Computer Science. Revisado el 17 de marzo de 2008.
  • Garey (2007), "Software Portability: Weighing Options, Making Choices", The CPA Journal 77(11): 3