gravatar

Introducción a la POO - Parte 4

Las abstracciones juegan un papel preponderante tanto en la evolución de los paradigmas de programación como de los lenguajes que les dan soporte.

Cada lenguaje de programación tiene su propio nivel de abstracción. Por ejemplo, el lenguaje de ensamble es una abstracción del “lenguaje máquina”, mientras que muchos de los lenguajes imperativos posteriores son abstracciones del lenguaje de ensamble, que en algunos casos poseen niveles de abstracción más altos (PASCAL) que en otros (C).

Cuando los lenguajes se clasifican en lenguajes de: bajo nivel, nivel medio y alto nivel, esta clasificación refiere, precisamente, al nivel de abstracción que proveen.

Se podría pensar entonces que los lenguajes pertenecientes a un nivel en particular, proveen todos las mismas capacidades de abstracción o al menos muy similares. Sin embargo, la realidad es un poco más compleja, ya que el nivel de abstracción de un lenguaje depende de varios factores como son: el paradigma de programación que soporta, su sintaxis y sus bibliotecas, entre otros.

Por ejemplo, un lenguaje que responde al paradigma declarativo (funcional o lógico) suele proveer un nivel de abstracción más alto que los lenguajes que siguen el paradigma imperativo, a costa de una gran proximidad con la complejidad matemática (por lo que históricamente no han tenido muchos adeptos).

El lenguaje declarativo más conocido es, sin duda, el SQL (aunque no es un lenguaje de programación sino de manipulación de datos). Otros lenguajes declarativos (ahora sí, de programación) conocidos son LISP, Haskell y PROLOG.

Un lenguaje que sigue el paradigma imperativo es una abstracción, un modelo de la máquina que representa: la máquina de Von Newman.

Los comentarios están habilitados para que los lectores puedan participar en la corrección del libro, realizar preguntas puntuales o sugerencias. Todo comentario fuera de estos objetivos será eliminado. Por favor, tenga en cuenta lo siguiente:

- Cumpla las normas de etiqueta.

- Realice críticas constructivas.

- No sea redundante.