Nivel de abstraccion lenguajes de programacion

Nivel de abstraccion lenguajes de programacion

Ejemplos de abstracción en informática

Este artículo necesita citas adicionales para su verificación. Por favor, ayude a mejorar este artículo añadiendo citas de fuentes fiables. El material sin fuente puede ser cuestionado y eliminado.Buscar fuentes:  «Abstracción» informática – noticias – periódicos – libros – erudito – JSTOR (junio de 2011) (Aprende cómo y cuándo eliminar este mensaje de la plantilla)

La abstracción, en general, es un concepto fundamental en la ciencia de la computación y el desarrollo de software[4] El proceso de abstracción también puede ser referido como modelado y está estrechamente relacionado con los conceptos de teoría y diseño[5] Los modelos también pueden ser considerados tipos de abstracciones por su generalización de aspectos de la realidad.

La abstracción en informática está estrechamente relacionada con la abstracción en matemáticas debido a su enfoque común en la construcción de abstracciones como objetos,[2] pero también está relacionada con otras nociones de abstracción utilizadas en otros campos como el arte[3].

La informática funciona en su mayor parte independientemente del mundo concreto. El hardware implementa un modelo de computación que es intercambiable con otros[cita requerida] El software está estructurado en arquitecturas para permitir a los humanos crear los enormes sistemas concentrándose en unos pocos temas a la vez. Estas arquitecturas se componen de elecciones específicas de abstracciones. La Décima Regla de Greenspun es un aforismo sobre cómo una arquitectura de este tipo es inevitable y compleja.

Qué es la abstracción en la programación

Algunos lenguajes tienen propósitos muy limitados; son los llamados lenguajes de propósito especial. Por ejemplo, Microsoft Word tiene un lenguaje de programación integrado llamado «macros de Word» que sólo sirve para generar datos y dar formato a un documento. Asimismo, el lenguaje HTML (Hypertext Markup Language) sólo sirve para estructurar páginas web.

Los lenguajes de propósito general no tienen un propósito estrecho en mente. En cierto sentido, estos lenguajes son todos iguales: si un algoritmo puede expresarse en un lenguaje, puede expresarse en todos ellos. Casi todos los lenguajes incluyen varias características básicas, como los operadores aritméticos (+, -, ×, ÷) y los booleanos (and, or, not). Las diferencias entre los lenguajes se refieren sobre todo a los niveles de abstracción.

Un lenguaje de alto nivel (como Snap! o Scheme) incluye muchas abstracciones incorporadas que facilitan la concentración en el problema que se quiere resolver en lugar de en el funcionamiento del hardware del ordenador. Un lenguaje de bajo nivel (como C) tiene menos abstracciones, y requiere que conozcas mucho la arquitectura de tu ordenador para escribir un programa.

Abstracción oop

Bien, ahora la Escalera de la Abstracción, un concepto que fue acuñado por primera vez por S.I. Hayakawa en su libro Language in Thought and Action.    Hayakawa observó que la escritura puede descomponerse en ideas abstractas y concretas, y una escalera ayuda a mostrar varios niveles de abstracción. Por ejemplo, en la imagen de arriba, lo más concreto es una cosa tangible y específica: mi ejemplar de Matar a un ruiseñor. Pero a medida que se sube por la escalera, el objeto se vuelve más general y abarca más y más cosas.

El dominio es mucho más abstracto, la especie es lo más concreto. Aunque si vieras un lobo concreto, podrías concretar más, incluso entonces el sistema de clasificación. Si quisieras discutir los méritos de todos los seres vivos, eso incluiría a los lobos, y sería más abstracto.

«Me pregunto qué clase de lobo es Romeo». me pregunto. Me dirijo a la tabla periódica y descubro que es una especie de lobo gris. Hay muchos otros lobos grises en el mundo, así que esto es un peldaño más en la escala. Veo que Romeo está jugando con los perros del vecindario. ¿Por qué perros? Bueno, el siguiente peldaño es su género, canis, que incluye a los perros. Son parte del mismo género. En fin, ya te haces una idea.

Niveles de abstracción de la programación

Dado que los lenguajes de programación inicialmente sólo utilizaban líneas de código ejecutadas de forma secuencial, y que evolucionó hasta incluir funciones que fueron uno de los primeros niveles de abstracción, y que luego se crearon clases y objetos para abstraerlo aún más; ¿cuál es el siguiente nivel de abstracción?

La primera abstracción (en 1936) fue, de hecho, el Cálculo Lambda de Alonzo Church, que es la base del concepto de funciones de alto orden y de todos los lenguajes funcionales que le siguieron. Inspiró directamente a Lisp (el segundo lenguaje de programación de alto nivel más antiguo, creado en 1959), que a su vez inspiró todo, desde ML hasta Haskell y Clojure.

La segunda abstracción fue la programación procedimental. Surgió de las arquitecturas informáticas de von Neumann, en las que se escribían programas secuenciales, una instrucción a la vez. FORTRAN (el lenguaje de programación de alto nivel más antiguo, 1958) fue el primer lenguaje de alto nivel que salió del paradigma procedimental.

La tercera abstracción fue probablemente la programación declarativa, ejemplificada primero por Absys (1967), y luego por Prolog (1972). Se trata de la base de la programación lógica, en la que las expresiones se evalúan mediante la concordancia de una serie de declaraciones o reglas, en lugar de ejecutar una serie de instrucciones.

Support-help2web

El equipo de Support-help2web publica un amplio contenido sobre informática, noticias y artículos de interés sobre proyectos electrónicos.

Esta web utiliza cookies propias para su correcto funcionamiento. Al hacer clic en el botón Aceptar, acepta el uso de estas tecnologías y el procesamiento de tus datos para estos propósitos.Más información
Privacidad