Loading presentation...

Present Remotely

Send the link below via email or IM

Copy

Present to your audience

Start remote presentation

  • Invited audience members will follow you as you navigate and present
  • People invited to a presentation do not need a Prezi account
  • This link expires 10 minutes after you close the presentation
  • A maximum of 30 users can follow your presentation
  • Learn more about this feature in our knowledge base article

Do you really want to delete this prezi?

Neither you, nor the coeditors you shared it with will be able to recover it again.

DeleteCancel

Make your likes visible on Facebook?

Connect your Facebook account to Prezi and let your likes appear on your timeline.
You can change this under Settings & Account at any time.

No, thanks

Comparación entre paradigmas de programacion

No description
by

Topo Mathers

on 6 June 2013

Comments (0)

Please log in to add your comment.

Report abuse

Transcript of Comparación entre paradigmas de programacion

Compilado Interpretado Imperativo Declarativo Clasificación de
lenguajes de
programación Paradigma de programación Declarativa Lenguajes visuales
y
Lenguajes basados en scripts Paradigma de Programación Imperativa Se describe un algoritmo en el que se detallan los pasos secuenciales necesarios a seguir para la resolución de un problema. Se describe el problema pero no los pasos necesarios para llegar a su solución, la cual es hallada mediante mecanismos internos de inferencia de información. Se basa en la maquina de Turing Se basa en el calculo lambda Se escribe el código de una manera sencilla aunque costosa en cuando extensivo del código. Es muy difícil la interpretación del código, sin embargo es mucho mas eficiente y ligero CONCEPTOS GENERALES Elementos de un
lenguaje de
programación Por nivel de abstracción. Según el nivel de abstracción, o sea, según el grado de cercanía a la máquina:
Lenguajes de bajo nivel: La programación se realiza teniendo muy en cuenta las características del procesador. Ejemplo: Lenguajes ensamblador.
Lenguajes de nivel medio: Permiten un mayor grado de abstracción pero al mismo tiempo mantienen algunas cualidades de los lenguajes de bajo nivel. Ejemplo: C puede realizar operaciones lógicas y de desplazamiento con bits, tratar todos los tipos de datos como lo que son en realidad a bajo nivel (números), etc.
Lenguajes de alto nivel: Más parecidos al lenguaje humano. Manejan conceptos, tipos de datos, etc., de una manera cercana al pensamiento humano ignorando (abstrayéndose) del funcionamiento de la máquina. Ejemplos: Java, Ruby. Por propósito. Según el nivel de abstracción, o sea, según el grado de cercanía a la máquina:
Según el propósito, es decir, el tipo de problemas a tratar con ellos:
Lenguajes de propósito general: Aptos para todo tipo de tareas: Ejemplo: C.
Lenguajes de propósito específico: Hechos para un objetivo muy concreto. Ejemplo: Csound (para crear ficheros de audio).
Lenguajes de programación de sistemas: Diseñados para realizar sistemas operativos o drivers. Ejemplo: C.
Lenguajes de script: Para realizar tareas varias de control y auxiliares. Antiguamente eran los llamados lenguajes de procesamiento por lotes (batch) o JCL (“Job Control Languages”). Se subdividen en varias clases (de shell, de GUI, de programación web, etc.). Ejemplos: bash (shell), mIRC script, JavaScript (programación web). Por evolución histórica. Con el paso del tiempo, se va incrementando el nivel de abstracción, pero en la práctica, los de una generación no terminan de sustituir a los de la anterior:
Lenguajes de primera generación (1GL): Código máquina.
Lenguajes de segunda generación (2GL): Lenguajes ensamblador.
Lenguajes de tercera generación (3GL): La mayoría de los lenguajes modernos, diseñados para facilitar la programación a los humanos. Ejemplos: C, Java.
Lenguajes de cuarta generación (4GL): Diseñados con un propósito concreto, o sea, para abordar un tipo concreto de problemas. Ejemplos: NATURAL, Mathematica.
Lenguajes de quinta generación (5GL): La intención es que el programador establezca el qué problema ha de ser resuelto y las condiciones a reunir, y la máquina lo resuelve. Se usan en inteligencia artificial. Ejemplo: Prolog. Por manera de ejecutarse. Lenguajes compilados: Un programa traductor traduce el código del programa (código fuente) en código máquina (código objeto). Otro programa, el enlazador, unirá los ficheros de código objeto del programa principal con los de las librerías para producir el programa ejecutable. Ejemplo: C.
Lenguajes interpretados: Un programa (intérprete), ejecuta las instrucciones del programa de manera directa. Ejemplo: Lisp. Por manera de abordar la tarea a realizar. Lenguajes imperativos: Indican cómo hay que hacer la tarea, es decir, expresan los pasos a realizar. Ejemplo: C.
Lenguajes declarativos: Indican qué hay que hacer. Ejemplos: Lisp, Prolog. Otros ejemplos de lenguajes declarativos, pero que no son lenguajes de programación, son HTML (para describir páginas web) o SQL (para consultar bases de datos). Por paradigma de programación. El paradigma de programación es el estilo de programación empleado. Algunos lenguajes soportan varios paradigmas, y otros sólo uno. Se puede decir que históricamente han ido apareciendo para facilitar la tarea de programar según el tipo de problema a abordar, o para facilitar el mantenimiento del software, o por otra cuestión similar, por lo que todos corresponden a lenguajes de alto nivel (o nivel medio), estando los lenguajes ensambladores “atados” a la arquitectura de su procesador correspondiente. Los principales son:
Lenguajes de pragramación procedural: Divide el problema en partes más pequeñas, que serán realizadas por subprogramas (subrutinas, funciones, procedimientos), que se llaman unas a otras para ser ejecutadas. Ejemplos: C, Pascal.
Lenguajes de programación orientada a objetos: Crean un sistema de clases y objetos siguiendo el ejemplo del mundo real, en el que unos objetos realizan acciones y se comunican con otros objetos. Ejemplos: C++, Java.
Lenguajes de programación funcional: La tarea se realiza evaluando funciones, (como en Matemáticas), de manera recursiva. Ejemplo: Lisp.
Lenguajes de programación lógica: La tarea a realizar se expresa empleando lógica formal matemática. Expresa qué computar. Ejemplo: Prolog. Por concurrencia. Según admitan o no concurrencia de procesos, esto es, la ejecución simultánea de varios procesos lanzados por el programa:
Lenguajes concurrentes. Ejemplo: Ada.
Lenguajes no concurrentes. Ejemplo: C. Este funciona a través de las estructuras de control Por interactividad. Según la interactividad del programa con el usuario u otros programas:
Lenguajes orientados a sucesos: El flujo del programa es controlado por la interacción con el usuario o por mensajes de otros programas/sistema operativo, como editores de texto, interfaces gráficos de usuario (GUI) o kernels. Ejemplo: VisualBasic, lenguajes de programación declarativos.
Lenguajes no orientados a sucesos: El flujo del programa no depende de sucesos exteriores, sino que se conoce de antemano, siendo los procesos batch el ejemplo más claro (actualizaciones de bases de datos, colas de impresión de documentos, etc.). Ejemplos: Lenguajes de programación imperativos. Contienen tipos de datos que representan un conjunto de valores Por productividad. Según se caractericen por tener virtudes útiles o productivas, u oscuras y enrevesadas:
Lenguajes útiles o productivos: Sus virtudes en cuanto a eficiencia, sencillez, claridad, productividad, etc., motiva que sean utilizados en empresas, administraciones públicas y/o en la enseñanza. Ejemplos: Cualquier lenguaje de uso habitual (C, Java, C++, Lisp, Python, Ruby, …).
Lenguajes esotéricos o exóticos: Inventados con la intención de ser los más raros, oscuros, difíciles, simples y/o retorcidos de los lenguajes, para diversión y entretenimiento de frikis programadores. A veces exploran nuevas ideas en programación. Ejemplo: Brainfuck. Por determinismo. Según se pueda predecir o no el siguiente estado del programa a partir del estado actual.
Lenguajes deterministas. Ejemplos: Todos los anteriores.
Lenguajes probabilísticos o no deterministas: Sirven para explorar grandes espacios de búsqueda, (como gramáticas), y en la investigación teórica de hipercomputación. Ejemplo: mutt (generador de texto aleatorio). Nivel de Abstracción Tienen mucho futuro debido a que lo usado de hoy es las bases de datos ya que cualquier aplicación nos lleva a cargar cosas desde la nube y estar en contacto con ella El nivel de abstracción es la cercanía que se tiene
al lenguaje maquina. Existen 3 niveles
- Bajo Nivel: Se programa teniendo en cuenta las
necesidades del procesador, como en el lenguaje
ensamblador.
- Nivel Medio: Se maneja un mayor grado de
abstracción, pero se conservan algunas
características del lenguaje de bajo nivel, como en C
el uso de tipos de datos como lo que son; números.
- Alto Nivel: Se usa un manejo mas parecido al
lenguaje humano manejando tipo de datos y
abstrayéndose o ignorando completamente el
lenguaje maquina. Tipos de datos Definen tipos de datos que devolverán los métodos o los tipos de datos que definirán una propiedad básica.
-"boolean": Son tipos de datos booleanos, que solo admiten valores de 0's y 1's.
-"short": Son datos de tipo entero muy pequeños.
-"int": Son datos de tipo entero normales.
-"long": Son datos de tipo entero mas grandes o largos.
-"char": Son datos de tipo carácter.
-"float": Son datos de tipo flotante (decimal).
-"double": Son datos de tipo flotante (decimal) mas largos.
-"void": Son datos vacíos.
-"string": Son cadenas de datos tipo carácter. Funciones En programación, una función es un grupo de instrucciones con un objetivo en particular y que se ejecuta al ser llamada desde otra función o procedimiento. Una función puede llamarse múltiples veces e incluso llamarse a sí misma (función recurrente).

Las funciones pueden recibir datos desde afuera al ser llamadas a través de los parámetros y deben entregar un resultado.

Se diferencian de los procedimientos porque estos no devuelven un resultado.

En general las funciones deben tener un nombre único en el ámbito para poder ser llamadas, un tipo de dato de resultado, una lista de parámetros de entrada y su código. En la programación orientada a objetos existen métodos para definir el comportamiento de ciertos objetos, clases y funciones.
-"public": Declara una clase publica, o sea, que todos los elementos del programa pueden consultar lo que esta clase hace.
-"private": Declara esa clase u objeto privado y esto da restricciones a su consulta.
-"protected": Solo se le permite al paquete entrar a esta clase.
-"import": Define que paquetes usaremos, para no escribir el nombre completo de la clase a la que hacemos referencia.
-"class": Declara una clase.
-"new": Instacia o crea un objeto desde una clase. Definición La programación en el entorno del paradigma imperativo determina los datos que son requeridos para el cálculo, asocia a esos datos a variables que son direcciones de memoria, para luego efectuar paso a paso, las transformaciones de los datos almacenados, de forma que el valor final de la variable sea el resultado buscado.

En el lenguaje común, a la serie de transformaciones realizadas sobre los datos originales les llamamos cálculos, que son generados por los algoritmos que transforman los datos de entrada en la solución al problema en cuestión. Estructuras
de control SECUENCIAL:
Típica de la propia naturaleza de la máquina, donde se ejecutan una a continuación de otra cada una de las instrucciones del programa almacenado en su memoria.

SELECCIÓN CONDICIONAL:
Produce una bifurcación del flujo de datos, cuando se cumple cierta condición previamente definida, caso contrario, seguiría el curso secuencial del programa.

SELECCIÓN INCONDICIONAL:
Bifurca imperativamente la estructura secuencial del flujo de datos, obligando a ejecutar una instrucción distinta a la siguiente en el orden especificado por el programador.

Estas estructuras básicas existen en cualquier programa construido bajo el paradigma imperativo, cuya evolución ha generado otros nuevos tipos de estructuras de control de flujo, tales como while, do, if..then..else, etc que simplifican la tarea del programador.

Además, la naturaleza primaria de las celdas de memoria ha sido sustituida progresivamente por abstracciones como las variables, registros, array y otros tipos de datos complejos que simplifican el diseño de los algoritmos del programa. Desventajas EFECTOS LATERALES
La existencia de estos efectos por una aparte, hacen que los programas no sean seguros puesto que cualquier posición de memoria puede ser actualizada de forma no adecuada, y otra parte, el concepto de una única memoria global actualizada de forma repetida por las instrucciones del programa dificulta la portabilidad y reutilización de código.
LIMITACIÓN DE APLICACIÓN
Su operativa se ajusta únicamente a aquellos problemas de naturaleza algorítmica clásica, similares en ejecución al de los cálculos matemáticos que no abordan con solvencia muchos problemas interesantes para resolver con la computadora.

En resumen, podemos señalar que el paradigma imperativo propicia un entorno de programación procedimental, en el que la secuencia de control y el concepto de variable son sus componentes fundamentales. Algoritmo o programación
algorítmica Dentro de este entorno, el algoritmo puede ser entendido como la estructura que guía la definición de las acciones que debe realizar un programa, como también sus estructuras de datos de tipo de variable, tales como el array, registro, fichero, etc., sobre los que actuará el algoritmo.

Por ello, este paradigma llamado también algorítmico, es de tipo procedimental de efecto lateral, que insume mucha memoria para almacenar salidas codificadas de procesos y efectúa secuencias de instrucciones para modificar tal memoria.

Este paradigma, asocia datos necesarios para cálculos con direcciones de memoria, para luego efectuar secuencias de transformaciones en los datos almacenados, hasta lograr el resultado final. Se caracteriza por aplicar:

-CONCEPTO DE CELDA DE MEMORIA (variable): Posee almacenamiento de datos en una memoria provista de muchas celdas donde guarda los valores de cada variable usada.

-OPERACIONES DE ASIGNACIÓN: Cada valor calculado es almacenado o asignado a la celda, de manera de actualizar el valor grabado.

-REPETICIÓN: El programa imperativo efectúa su tarea iterando secuencias de pasos elementales. Características Debido a su relación cerrada con las arquitecturas de las máquinas, los lenguajes de Programación Imperativa pueden ser implementados eficientemente.

La base de la programación imperativa es la completa especificación y manipulación controlada de datos con nombre de una manera secuencial. Esta programación se cree que se ajusta a la mente humana. Los Datos. Cada dato tiene una representación y un número de propiedades conocidas como tipo.

El Estado De Los Programas. Una actividad importante de un programa en un lenguaje imperativo es el cambio del estado interno de la computadora representado por los valores de las variables y del estado externo representado por las entradas y salidas a dispositivos.

El Flujo De Control. Los lenguajes imperativos dan al programador un control extensivo sobre el orden en el cual se ejecutan los enunciados en el programa. Los mecanismos usuales son: secuencia, selección, repetición e invocación de rutinas.

La Composición De Los Programas. Se pueden distinguir cuatro niveles de jerarquía: bloques, rutinas, paquetes (módulo o tareas) y programas.

Efectos de una Asignación: Una propiedad característica de una asignación es que cambia el valor almacenado (estado actual) en una dirección (localidad) de memoria en un computador. Los conceptos de "estado" y "localidad" vienen directamente del modelo del computador para el lenguaje imperativo. Es el mas utilizado para crear software destinado a los usuarios comunes, o sea sin conocimientos sobre la lógica computacional. Ambos paradigmas cuentan con operadores lógicos, aritméticos y de comparación, cada lenguaje con su respectiva sintaxis pero los tienen. Estos pueden usar la recursividad para la solución de problemas. Los dos poseen variables, aunque estas se utilizan de diferente modo en cada paradigma Poseen sintaxis y semántica Su uso es a base de relaciones entre los conceptos que este pueda tener Su uso se caracteriza por las variables, comandos y procedimientos. Su uso se caracteriza por el uso de expresiones y funciones Un programa echo en este paradigma es básicamente una función, o conjunto de funciones, que pueden llamar a otras funciones, o que el resultado de una función puede ser utilizado como argumento de otra función

ejemplo de esto:
si se desea obtener el promedio de un alumno su hace una funcion (sumar_notas) y otra que sea (contar_notas) que estas a su vez seran argumentos para otra funcion (dividir)

(dividir (sumar_notas)/(contar_notas)) Un programa echo en este paradigma es un conjunto de instrucciones a realizar que se deciden a base de estructuras de control que modifican el curso del programa

un ejemplo de esto:
se desea obtener el promedio de un alumno, para esto se declaran 3 variables como mínimo una de la "suma_de_calificaciones" otra de el "numero_de_calificaciones" y otra de nuestro "promedio", para esto le pediremos al usuario a base de impresiones en pantalla que nos de estos datos, y los leeremos a continuación, siguiendo un orden de el programa, nos llevara hasta la declaración de que la variable "promedio"="suma_de_calificaciones"/"numero_de_calificaciones" La Programación visual (VP) se refiere a cualquier sistema que le permite al usuario especificar un programa en dos o más. – (La moda del dimensionsional.)
Los idiomas textuales convencionales no son considerados dos dimensionales desde
que los copiladores o intérpretes los procesan como uno – (los arroyos
dimensiónales.
Un Idioma visual manipula información visual o apoyos de la interacción visual, o permite la programación con las expresiones visuales. Se toma para ser la definición de un idioma de la programación visual.
Los idiomas de la programación visuales pueden ser clasificados más allá según el tipo y magnitud de expresión visual usadas, en el icono - los idiomas basados, forma - los idiomas basados e idiomas del diagrama. Los ambientes de la programación visuales proporcionan gráfico o elementos del icono que pueden manipularse por el usuario de una manera interactiva según alguna gramática espacial específica para la construcción del programa. Existen algunas definiciones en los lenguajes de programación visual que son las siguientes:
ICONO
Un objeto con la representación dual de una parte lógica (el significado) y una parte física (la imagen)
SISTEMA DEL ICONO
Un juego estructurado de iconos relacionados
IDIOMA VISUAL
Un juego de frases del icono que se construye con la sintaxis dada y semántica
ANALISIS SINTACTICO
Un análisis de una frase del icono para determinar la estructura subyacente
ANALISIS SEMANTICO
Un análisis de una frase del icono para determinar el significado
subyacente. DEFINICIONES DE PROGRAMACIÓN VISUAL LA TEORIA DE LOS LENGUAJES DE PROGRAMACIÓN VISUAL LA ESPECIFICACIÓN FORMAL DE LOS LENGUAJES DE PROGRAMACIÓN VISUAL El programa se expresa como un cordón en que las fichas terminales son
encadenadas para formar una frase cuya estructura y significado son descubierta por el análisis sintáctico y semántico, respectivamente CUADRO (procesador de gramática)

Originalmente diseñado para analizar los cuadro digitales en una reja
cuadrada. Estas gramáticas son basado en cuadros digitales que están compuestos por pixeles. Estas gramáticas descubren la estructura de la frase visual componiendo los pixeles individuales en los elementos visuales reconocibles.

LAS GRAMATICAS DE ANTERIORIDAD

Se usa para el análisis de la expresión matemática dimensional e
impresión. Son convenientes para el análisis sintáctico de frases visuales
construidas de los iconos elementales e iconos operadores

EL CONTEXTO


Especifican la composición de frases visuales que usan los formalismos y
los métodos normales de analizar tales gramáticas

LAS GRAMATICAS DEL GRAFICO

Éstos son por lejano el más poderoso (aunque eficaz) especificación de los lenguajes visuales. Estos formalismos provienen para establecer las relaciones del contexto y el muy reciente trabajo se ha consagrado a hacer el análisis gramatical con las gramáticas computacionales gráficas flexibles

LOS IDIOMAS DE LA PROGRAMACIÓN VISUALES

En esta sección presentamos una muestra de idiomas de la programación
visuales que ilustre muchos de los conceptos presentados en este papel. la tarea del programador es descubrir un enunciado preciso que sea suficiente para la resolución del problema LA ANÁLISIS DE LOS LENGUAJES DE PROGRAMACIÓN VISUAL La tarea del programador es descubrir un algoritmo para la resulucion del problema, este sera una serie de pasos las variables en este paradigma solo pueden tomar 1 valor a lo largo de la ejecución del programa, esto significa que no puede haber asignación destructiva, por eso es importante el uso de la recursividad en este paradigma las variables pueden cambiar a lo largo de la ejecución de un programa, esto a veces crea inconvenientes con el uso de la memoria Pues en si las intersecciones que poseen los paradigmas imperativo y declarativo son pocas, o no muy notorias por que se supone que son lo contrario Lenguajes multiparadigmas Se basa en el hecho que un programa implementa una relación antes que una correspondencia. Esto se debe a que las relaciones son mas generales que las correspondencias.
El auge del paradigma declarativo se debe a que el área de la lógica formal de las matemáticas ofrece un sencillo algoritmo de resolución de problemas adecuado para, usarse en un sistema de programación declarativo de propósito general. Definición Ramas Este paradigma de divide en 2 grandes ramas: Paradigma funcional: Paradigma lógico: Basado en la evaluación de funciones matemáticas. Se sustenta en la idea de que un problema puede ser descrito definiendo ciertas relaciones sobre un conjunto de datos, y que pueden obtenerse conclusiones a partir de estas premisas aceptadas como validas, por medio de aplicación de ciertas reglas de deducción. Claros ejemplos de estos paradigmas son Haskell y Prolog respectivamente. Curiosamente hay otro lenguaje, Curry (lenguaje declarativo) que fue creado para unificar lo mejor de la programación lógica y la programación funcional. Características
del paradigma -El paradigma declarativo es un paradigma que se centra en la descripción del problema, más que los procedimientos necesitamos para llegar a la solución del problema.
-Lo más importante, es descubrir un algoritmo general para la resolución del problema. Después de hacer esto sólo tenemos que expresarlos en una forma compatible con dicho algoritmo y aplicarlo.
-Acá la tarea del programador es crear un enunciado preciso del problema, más que a descubrir un algoritmo para resolverlo.
-El control de la ejecución, no es responsabilidad del programador. Ventajas Entre las ventajas del paradigma declarativo se destaca que la solución de un problema se puede realizar con un nivel de abstracción considerablemente alto, sin entrar mucho en detalles de implementación, lo que hace a la solución más fácil de entender por las personas.
El paradigma declarativo encuentra numerosas aplicaciones industriales en campos como las bases de datos, ingeniería del software, procesadores de lenguajes, lenguaje natural, investigación operativa, seguridad de redes, etc Desventajas El principal obstáculo del paradigma declarativo es el descubrimiento del algoritmo básico para resolver problemas. Por esta razón, los lenguajes declarativos tienden a ser de propósito específico, diseñados para usarse en aplicaciones particulares.
Otra desventaja de la programación declarativa está relacionada con la eficiencia. LENGUAJES BASADO EN SCRIPTS Un lenguaje de script es un pequeño lenguaje de programación cuyo código se inserta dentro del documento HTML. Este código se ejecuta en el navegador del usuario al cargar la página, o cuando sucede algo especial como puede ser el pulsar sobre un enlace. HISTORIA DE LOS LENGUAJES BASADOS
EN SCRIPTS El primer lenguaje de script que vió la luz fue el JavaScript de Netscape. Nacido con la versión 2.0 de este navegador y basado en la sintaxis de Java, su utilidad y el casi absoluto monopolio que entonces ejercía Netscape en el mercado de navegadores permitieron que se popularizara y extendiera su uso. VENTAJAS DE LOS SCRIPTS Gracias a los scripts se pueden realizar algunas mejoras como:
-Generación dinámica del documento en el momento de la carga.
-Validación de datos introducidos en un formulario, así como el rellenado automático de aquellos controles del mismo que lo precisen.
-Controlar los eventos que se producen en la página: Un elemento toma el foco, un elemento es activado con el ratón, etc. TIPOS DE SCRIPTS Podemos distinguir 2 tipos de scripts en un documento HTML:
1.El primero es el que se ejecuta durante la descarga de la página en el navegador. Existe la posibilidad de incluir contenido específico para aquellos navegadores que no incluyen scripts entre sus características.
2.El segundo tipo son los ejecutados cada vez que un usuario (o el navegador) genera lo que se llama un "evento". Por ejemplo la pulsación de un botón en un formulario. Ejemplos de algunos lenguajes de script son:
-VBScript: Implementación de Visual Basic para crear aplicaciones para Internet Explorer.
-JScript: Implementación de Microsoft del lenguaje de scripting basado en Java.
-JavaScript: Lenguaje de elaboración de scripts para incrustarse en archivos HTML, que es con diferencia el lenguaje de script más usado en Internet.
-ActionScript: Lenguaje de script de Macromedia para la aplicación Flash.
-ECMAScript: Lenguaje de scripting que soporta el estándar ECMA-262 (European Computer Manufacturers Association). EJEMPLOS DE LENGUAJES DE
SCRIPTS Integrantes Juan Miguel De La Torre Loza
Luz Cecilia Sandoval Carbajal
Miguel Ángel Delgado Martinez
Andrés Barba Hernández
Estela Maribel Jaime Hernández Bibliografía http://www.genbetadev.com/metodologias-de-programacion/programacion-imperativa-vs-declarativa-ii-calculo-simbolico http://www.genbetadev.com/paradigmas-de-programacion/programacion-imperativa-vs-declarativa-iii-demostracion-automatica-de-teoremas http://www.genbetadev.com/metodologias-de-programacion/programacion-imperativa-vs-declarativa-iv-paradigma-funcional http://www.genbetadev.com/paradigmas-de-programacion/diferencias-entre-paradigmas-de-programacion http://qbitacora.wordpress.com/2007/09/21/clasificacion-de-lenguajes-de-programacion/ http://automatasylenguajesformales.wordpress.com/ http://www.compunauta.net/blog/ezine_showarticle.php?eid=4&id=54&catid=51 http://www.alegsa.com.ar/Dic/funcion.php http://paradigma_visual.lacoctelera.net/post/2007/06/28/programacion-visual-y-su-historia http://www.emagister.com/curso-creacion-paginas-web-html/lenguajes-script ftp://ftp.ehu.es/cidirb/profs/npppisaj/Curso_HTML/script.html http://www.internetmania.net/int0/int61.htm
Full transcript