Diferencia entre revisiones de «Programación Imperativa»

m (Ejemplo de Lenguajes imperativos)
Línea 15: Línea 15:
 
== Ejemplo de Lenguajes imperativos ==
 
== Ejemplo de Lenguajes imperativos ==
  
Algunos lenguajes imperativos: [[ASP]], [[BASIC]], [[C]], [[C++]], Fortran, [[Pascal]], [[Perl]], [[PHP]] y Lua. John Backus fue un informático estadounidense, ganador del Premio Turing en 1977 por sus trabajos en sistemas de programación de alto nivel, en especial por su trabajo con FORTRAN. Para evitar las dificultades de programación de las calculadoras de su época, en [[1954]] Backus se encargó de la dirección de un proyecto de investigación en IBM para el proyecto y realización de un lenguaje de programación más cercano a la notación matemática normal. <br> De ese proyecto surgió el lenguaje FORTRAN, el primero de los lenguajes de programación de alto nivel que tuvo un gran impacto, incluso comercial, en la emergente comunidad informática.  Tras la realización de FORTRAN, Backus fue un miembro muy activo del comité internacional que se encargó del proyecto de lenguaje ALGOL. En ese contexto propuso una notación para la representación de las gramáticas usadas en la definición de un lenguaje de programación (las llamadas gramáticas libres de contexto). Tal notación se conoce como BNF, o Forma de Naur y Backus (Backus-Naur Form) y une al nombre de Backus al de Peter Naur, un informático europeo del comité ALGOL que contribuyó a su definición.  
+
Algunos lenguajes imperativos: [[ASP]], [[BASIC]], [[C]], [[C++]], [[Fortran]], [[Pascal]], [[Perl]], [[PHP]] y Lua. John Backus fue un informático estadounidense, ganador del Premio Turing en 1977 por sus trabajos en sistemas de programación de alto nivel, en especial por su trabajo con FORTRAN. Para evitar las dificultades de programación de las calculadoras de su época, en [[1954]] Backus se encargó de la dirección de un proyecto de investigación en IBM para el proyecto y realización de un lenguaje de programación más cercano a la notación matemática normal. <br> De ese proyecto surgió el lenguaje FORTRAN, el primero de los lenguajes de programación de alto nivel que tuvo un gran impacto, incluso comercial, en la emergente comunidad informática.  Tras la realización de FORTRAN, Backus fue un miembro muy activo del comité internacional que se encargó del proyecto de lenguaje ALGOL. En ese contexto propuso una notación para la representación de las gramáticas usadas en la definición de un lenguaje de programación (las llamadas gramáticas libres de contexto). Tal notación se conoce como BNF, o Forma de Naur y Backus (Backus-Naur Form) y une al nombre de Backus al de Peter Naur, un informático europeo del comité ALGOL que contribuyó a su definición.
  
 
== Lenguaje FP ==
 
== Lenguaje FP ==

Revisión del 17:54 26 abr 2011

Programación Imperativa
Información sobre la plantilla
Codigo.jpg
pasos, instrucciones u ordenes que se le escriben a la computadora

Programación Imperativa. Es una ciencia de la computación llamada lenguajes imperativos a aquellos en los cuales se le ordena a la computadora cómo realizar una tarea siguiendo una serie de pasos o instrucciones.

Paradigma de programación imperativa

El paradigma de programación imperativa es el paradigma de programación más utilizado. Surgió con los primeros ordenadores sobre los años 1940 reflejando las características de la arquitectura Von Newman de la mayoría de ordenadores: el ordenador dispone de una memoria para almacenar las instrucciones de los programas (the program store) y los datos (the data store). 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 de computadores 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.

Los lenguajes imperativos de alto nivel usan variables y sentencias más complejas, pero aún siguen el mismo paradigma.

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 por John 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.

Ejemplo de Lenguajes imperativos

Algunos lenguajes imperativos: ASP, BASIC, C, C++, Fortran, Pascal, Perl, PHP y Lua. John Backus fue un informático estadounidense, ganador del Premio Turing en 1977 por sus trabajos en sistemas de programación de alto nivel, en especial por su trabajo con FORTRAN. Para evitar las dificultades de programación de las calculadoras de su época, en 1954 Backus se encargó de la dirección de un proyecto de investigación en IBM para el proyecto y realización de un lenguaje de programación más cercano a la notación matemática normal.
De ese proyecto surgió el lenguaje FORTRAN, el primero de los lenguajes de programación de alto nivel que tuvo un gran impacto, incluso comercial, en la emergente comunidad informática. Tras la realización de FORTRAN, Backus fue un miembro muy activo del comité internacional que se encargó del proyecto de lenguaje ALGOL. En ese contexto propuso una notación para la representación de las gramáticas usadas en la definición de un lenguaje de programación (las llamadas gramáticas libres de contexto). Tal notación se conoce como BNF, o Forma de Naur y Backus (Backus-Naur Form) y une al nombre de Backus al de Peter Naur, un informático europeo del comité ALGOL que contribuyó a su definición.

Lenguaje FP

En los años 1970, Backus se interesó sobre todo por la Programación funcional, y proyectó el lenguaje de programación FP, descrito en el texto que le sirvió para ganar el premio Turing, "Can Programming be Liberated from the Von Neumann Style?" Se trata de un lenguaje de uso fundamentalmente académico, que sin embargo animó un gran número de investigaciones. El proyecto FP, transformado en FL, se terminó cuando Backus se jubiló en IBM, en 1991.
John Backus falleció el sábado 17 de marzo de 2007, a la edad de 82 años en su casa en Ashland, Oregón por causas naturales, de acuerdo la declaración de su familia.

Características:

  • Celdas de memoria: El principal componente de la arquitectura es la memoria, compuesta por un gran número de celdas que contienen los datos.
  • Asignación: Estrechamente ligado a la arquitectura de memoria se encuentra la idea de que cada valor calculado debe ser almacenado, o sea, asignado, en una variable. Estas asignaciones se realizan repetitivamente sobre la misma celda de memoria, remplazando los valores anteriores.
  • Algoritmos: Un programa imperativo, normalmente realiza su tarea ejecutando repetidamente una secuencia de pasos elementales, ya que en este modelo computacional la única forma de ejecutar algo complejo es repitiendo una secuencia de instrucciones. La programación requiere la construcción de "algoritmos", a modo de receta, método, técnica, procedimiento o rutina, que se definen como conjuntos finito de sentencias, ordenadas de acuerdo a sus correspondientes estructuras de control, que marcan el flujo de ejecución de operaciones para resolver un problema específico.
  • Programación estructurada: La programación estructurada surge como un conjunto de técnicas para facilitar el desarrollo de sistemas en lenguajes del paradigma imperativo, pero presenta ideas que también fueron tenidas en cuenta en lenguajes de otros paradigmas.
  • Estructuras básicas de control: La base teórica de la programación estructurada plantea que cualquier programa, por más grande y complejo que fuera, puede representarse mediante tres tipos de estructuras de control: secuencia, selección e iteración.

Lenguajes que soportan este paradigma

BASIC

El lenguaje BASIC fue inventado en 1964 por John George Kemeny (1926-1993) y Thomas Eugene Kurtz (1928- ) en el Dartmouth College.
BASIC (Código de instrucción simbólica universal para principiantes: Begginners Allpurpose Symbolic Instruction Code) comienza como una herramienta para enseñar sobre programación a estudiantes. Fue desarrollado por Jhon Kemeny y Thomas Kurtz en 1964. Por su simplicidad se volvió ampliamente popular y usado en educación y entre los programadores aficionados, pero no ha llegado a ser un lenguaje viable para aplicaciones comerciales. Esto último se debe a que no posee un amplio repertorio de herramientas como el que ofrecen otros lenguajes. Además, sus compiladores no producen archivos ejecutables tan compactos, rápidos y eficientes como los que producen otros lenguajes.

C

Por su parte C es un lenguaje de programación creado en 1972 por Kenneth L. Thompson, Brian Kernighan y Dennis M. Ritchie en los Laboratorios Bell como evolución del anterior lenguaje B, a su vez basado en BCPL.
C, desarrollado a principios de los sesenta por Brian Kernighan y Dennis Ritchie, quienes buscaban un mejor lenguaje de integrar con el sistema operativo UNIX, para que los usuarios pudiesen hacer modificaciones y mejoras con facilidad. El código ejecutable obtenido del lenguaje C, es rápido y eficiente. El C es poderoso, puesto que brinda la libertad de conseguir que se realice casi cualquier cosa en una computadora. Esta es una de las razones por la cual se ha vuelto tan popular entre quienes desarrollan software para aplicaciones comerciales profesionalmente. Su dificultad estriba, en que no es tan sencillo de aprender en comparación con otros lenguajes.

C++

C++ (pronunciado "C plus plus" o "C más más", por algunos programadores de habla hispana) es un lenguaje de programación, diseñado a mediados de los ochenta, por Bjarne Stroustrup, como extensión del lenguaje de programación C.

El nombre C++ fue propuesto por Rick Masciatti en el año 1983, cuando el lenguaje fue utilizado por primera vez fuera de un laboratorio científico.

Antes se había usado el nombre "C con clases". En el C++, "C++" significa "uno más de C" y se refiere a que C++ es una extensión del C. Algunos dicen que "C++" todavía significa "C", porque "++" en este caso es el operador de la pos incrementación, es decir, aumenta el valor de la expresión a la que se refiere, después, en las instrucciones siguientes. Por esto el valor de la expresión en este momento permanece original. Es un lenguaje híbrido, que se puede compilar y resulta más sencillo de aprender para los programadores que ya conocen C. Las principales características del C++ son abstracción (encapsulación), el soporte para programación orientada a objetos (polimorfismo) y el soporte de plantillas o programación genérica (Templetes). Pero añade otra serie de propiedades que se encuentran más difícilmente en otros lenguajes de alto nivel:

  • Posibilidad de redefinir los operadores.
  • Identificación de tipos en tiempo de ejecución (RTTI).

Fuentes

  • Libro Breve historia de los lenguajes de programación. Juan de Dios Rosas Días
  • Edsger. W. Dijkstra. "El Programista Humilde" (la Conferencia del Premio de Turing), Comunicaciones del ACM, Vol 15, No. 10 (el octubre 1972).