jueves, 14 de febrero de 2008

leguajes Imperactivos

Lenguajes imperativos
En ciencias de la computación se llama 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, p. ej.
Paso 1, solicitar número.
Paso 2, multiplicar número por dos.
Paso 3, imprimir resultado de la operación.
Paso 4, etc,

Algunos ejemplos de lenguajes imperativos son: BASIC, C, C++, Java, C# y Perl.
Los lenguajes convencionales basados en el modelo computacional de Von Newman se llaman imperativos, basados en instrucciones o, simplemente, lenguajes Von Newman; Basic, Pascal, Fortran y Lenguaje C fueron los lenguajes imperativos de mayor influencia cuando aparecieron.
Lenguajes imperativos

1. FORTRAN
COBOL
ALGOL 60 --------
-------------------------------------------------------------------------

BASIC ALGOL 68 Pascal PL/I SIMULA BCPL
------------------ ---------------------------------------
-----------------
CLU Modula Smalltalk 72 C
-----------------------------
Ada Smalltalk 80 -----------
Object Pascal ----------------
Eiffel Smalltalk V Objective C C++
------------------------------------------

OOPL/I OOCOBOL
IMPERATIVOS O PROCEDURALES, almacenan los datos en variables sobre los que realizan operaciones
Proceso compilaron: C++
Programación funcional
Los lenguajes funcionales se basan en el concepto de función, por tanto, el objeto básico y fundamental que manejamos son las funciones, que se pueden considerar las principales estructuras de control en este tipo de lenguajes.
La base fundamental para comprender este tipo de lenguajes consiste en ver los programas y aplicaciones expresados a través de funciones y aplicación entre funciones.
Las características fundamentales de estos lenguajes se exponen a continuación:
Utilización de funciones sobre elementos de primer orden.
Utilización de funciones polimórficas, es decir, aquéllas cuyo tipo devuelto depende del tipo de los argumentos.
Utilización de funciones de orden superior, es decir, aquellas funciones que aceptan en su lista de argumentos otras funciones.
Evaluación perezosa (o lazy), es decir, las expresiones no se evalúan hasta que no se necesitan los resultados. Es justamente, lo contrario de la evaluación eager(ansiosa), donde la evaluación de los argumentos se realiza antes de aplicar la función. La evaluación perezosa nos proporciona la ventaja de trabajar con listas potencialmente infinitas.
Existencia de un sistema de tipos fuerte
Uso del Patter Matching: comprobación de patrones.
Vistas las características fundamentales de los lenguajes funcionales, estos pueden clasificarse en dos tipos:
Puros: aquellos en los que sólo podemos aplicar funciones. Estas son las únicas estructuras de control. Posee evaluación perezosa.
Impuros: aquellos que poseen evaluación ansiosa.
2. LISP
---------------------------

LOOPS Plasma INTERLISP Scheme
FUNCIONALES, utilizan funciones para la descripción de los procedimientos.

Programación lógica
La Programación Lógica es un Paradigma de Programación basado en la Lógica.
Los programas construidos un lenguaje lógico están construidos únicamente por expresiones lógicas, es decir, que son ciertas o falsas, en oposición a un expresión interrogativa (una pregunta) o expresiones imperativas (una orden).
Un ejemplo de lenguaje lógico es Prolog (Programación lógica).
Programación orientada a objetos
La programación Orientada a Objetos (POO) es una metodología de diseño de software y un paradigma de programación que define los programas en términos de "clases de objetos", objetos que son entidades que combinan estado (es decir, datos) y comportamiento (esto es, procedimientos o métodos). La programación orientada a objetos expresa un programa como un conjunto de estos objetos, que se comunican entre ellos para realizar tareas. Esto difiere de los lenguajes procedurales tradicionales, en los que los datos y los procedimientos estan separados y sin relación. Estos métodos están pensados para hacer los programas y módulos más fáciles de escribir, mantener y reutilizar.
La programación orientada a objetos (OOP, por las siglas inglesas de Object-Oriented Programming) es una nueva forma de programar que proliferó a partir de los años ochenta y trata de encontrar solución a estos problemas utilizando los siguientes conceptos:
Objetos: entidades complejas provistas de datos (propiedades, atributos) y comportamiento (funcionalidad, programas, métodos).
Corresponden a los objetos reales del mundo que nos rodea.
Clases: conjuntos de objetos que comparten propiedades y comportamiento.
Herencia: las clases no están aisladas, sino que se relacionan entre sí, formando una jerarquía de clasificación. Los objetos heredan las propiedades y el comportamiento de todas las clases a las que pertenecen.
Encapsulamiento: cada objeto está aislado del exterior, es un módulo natural, y la aplicación entera se reduce a un agregado o rompecabezas de objetos. El aislamiento protege a los datos asociados a un objeto contra su modificación por quien no tenga derecho a acceder a ellos, eliminando efectos secundarios e interacciones.
Polimorfismo: programas diferentes, asociados a objetos distintos, pueden compartir el mismo nombre, aunque el significado del programa varíe según el objeto al que se aplica.
La programación orientada a objetos introduce nuevos conceptos, que a veces no son más que nombres nuevos aplicados a conceptos antiguos, ya conocidos. Entre ellos destacan los siguientes:
Método: es un programa asociado a un objeto (o a una clase de objetos), cuya ejecución se desencadena mediante un "mensaje".
Mensaje: una comunicación dirigida a un objeto, que le ordena que ejecute uno de sus métodos con ciertos parámetros.
Propiedad, atributo o variable: datos asociados a un objeto o a una clase de objetos.
Los LENGUAJES ORIENTADOS A OBJETOS, encapsulan los datos junto a los procediéndoos que los procesan.

No hay comentarios: