Paradigmas de la programacion y cronologia de la misma

Solo disponible en BuenasTareas
  • Páginas : 14 (3291 palabras )
  • Descarga(s) : 0
  • Publicado : 22 de agosto de 2010
Leer documento completo
Vista previa del texto
Programación imperativa
La programación imperativa, en contraposición a la programación declarativa es un paradigma de programación que describe la programación en términos del estado del programa y sentencias que cambian dicho estado. Los programas imperativos son un conjunto de instrucciones que le indican al computador cómo realizar una tarea.
La implementación de hardware de la mayoría decomputadores es imperativa; prácticamente todo el hardware de los computadores está diseñado para ejecutar código de máquina, que es nativo al computador, escrito en una forma imperativa. Esto se debe a que el hardware de los computadores implementa el paradigma de las Máquinas de Turing. Desde esta perspectiva de bajo nivel, el estilo del programa está definido por los contenidos de la memoria, ylas sentencias son instrucciones en el lenguaje de máquina nativo del computador (por ejemplo el lenguaje ensamblador).
Los lenguajes imperativos de alto nivel usan variables y sentencias más complejas, pero aún siguen el mismo paradigma. Las recetas y las listas de revisión de procesos, a pesar de no ser programas de computadora, son también conceptos familiares similares en estilo a laprogramación imperativa; cada paso es una instrucción, y el mundo físico guarda el estado (Zoom).
Los primeros lenguajes imperativos fueron los lenguajes de máquina de los computadores originales. En estos lenguajes, las instrucciones fueron muy simples, lo cual hizo la implementación de hardware fácil, pero obstruyendo la creación de programas complejos. Fortran, cuyo desarrollo fue iniciado en 1954 porJohn Backus en IBM, fue el primer gran lenguaje de programación en superar los obstáculos presentados por el código de máquina en la creación de programas complejos.
Programación lógica
La programación lógica consiste en la aplicación del corpus de conocimiento sobre lógica para el diseño de lenguajes de programación; no debe confundirse con la disciplina de la lógica computacional.
Laprogramación lógica es un tipo de paradigmas de programación dentro del paradigma de programación declarativa. El resto de los subparadigmas de programación dentro de la programación lógica son: programación funcional, programación basada en restricciones, programas DSL (de dominio específico) e híbridos. La programación declarativa gira en torno al concepto de predicado, o relación entre elementos. Laprogramación funcional se basa en el concepto de función (que no es más que una evolución de los predicados), de corte más matemático.

Campos de aplicación
La programación lógica encuentra su hábitat natural en aplicaciones de inteligencia artificial o relacionadas:
* Sistemas expertos, donde un sistema de información imita las recomendaciones de un experto sobre algún dominio deconocimiento.
* Demostración automática de teoremas, donde un programa genera nuevos teoremas sobre una teoría existente.
* Reconocimiento de lenguaje natural, donde un programa es capaz de comprender (con limitaciones) la información contenida en una expresión lingüística humana.
* Etc.
La programación lógica también se utiliza en aplicaciones más "mundanas" pero de manera muy limitada, ya quela programación tradicional es más adecuada a tareas de propósito general.
Programación funcional
La programación funcional es un paradigma de programación declarativa basado en la utilización de funciones aritméticas.
Utilidad
El objetivo es conseguir lenguajes expresivos y matemáticamente elegantes, en los que no sea necesario bajar al nivel de la máquina para describir el proceso llevado acabo por el programa, y evitando el concepto de estado del cómputo. La secuencia de computaciones llevadas a cabo por el programa se regiría única y exclusivamente por la reescritura de definiciones más amplias a otras cada vez más concretas y definidas, usando lo que se denominan "definiciones dirigidas".
Características
Los programas escritos en un lenguaje funcional están constituidos...
tracking img