Principio de abstracción (programación)

De Wikipedia, la enciclopedia libre

En ingeniería de software y teoría de lenguajes de programación, el principio de abstracción (o el principio de abstracción ) es un dictado básico que tiene como objetivo reducir la duplicación de información en un programa (generalmente con énfasis en la duplicación de código ) siempre que sea práctico haciendo uso de abstracciones proporcionadas por el lenguaje de programación o bibliotecas de software[cita requerida] . El principio a veces se establece como una recomendación para el programador, pero a veces se establece como un requisito del lenguaje de programación, asumiendo que se entiende por qué es deseable usar abstracciones. Los orígenes del principio son inciertos; se ha reinventado varias veces, a veces con un nombre diferente, con ligeras variaciones.

Cuando se lee como recomendaciones al programador, el principio de abstracción puede generalizarse como el principio " no te repitas " (DRY en inglés), que recomienda evitar la duplicación de información en general, y también evitar la duplicación del esfuerzo humano involucrado en el software. proceso de desarrollo.

El principio[editar]

Como recomendación al programador, en su formulación por Benjamin C. Pierce en Types and Programming Languages (2002), el principio de abstracción dice (énfasis en el original):[1]

Cada parte importante de la funcionalidad de un programa debe implementarse en un único lugar del código fuente. Cuando funciones similares se llevan a cabo en distintos fragmentos de código, suele ser beneficioso combinarlos en uno solo mediante la abstracción de las distintas partes.

Como requisito del lenguaje de programación, en su formulación por David A. Schmidt en La estructura de los lenguajes de programación tipados (1994), el principio de abstracción dice:[2]

 Se pueden nombrar las frases de cualquier clase sintáctica semánticamente significativa.

Referencias[editar]

  1. Pierce, Benjamin (2002). Types and Programming Languages. MIT Press. p. 339. ISBN 0-262-16209-1. 
  2. David A. Schmidt, The structure of typed programming languages, MIT Press, 1994, ISBN 0-262-19349-3, p. 32