142 CONTRASTACION DE RESULTADOS LENGUAJES IMPERATIVOS Características -Usados en la máquina de Von Neumann. - Son más confiables, legibles y eficientes en su ejecución que los lenguajes declarativos. -Tienen un procesamiento secuencial. -Todas las variables deben ser declaradas en memoria RAM. ========== LENGUAJES DECLARATIVOS=== Lógicos Funcionales Algebraicos - Se basan en la Lógica simbólica. -No declaran variables. -Trabaja exclusivamente con Sistemas Expertos. .Maneja hechos, reglas y consultas muy bien. -Administra una Base de Conocimientos. -La recursividad es la estructura más importante en el desarrollo del programa. -Utiliza -Basados en la noción Matemática de Función. - Usa el concepto de Recursividad. -No declaran variables, por lo tanto no son muy legibles. -Lisp tiene manejo de excepciones. -Son orientados por pilas (LIFO) - Accesan a Base de Datos Relacionales. - Manejan el Algebra y el Cálculo Relacional. - Efectúan consultas para recuperar información. -Permite a base de consultas accesar a grandes volúmenes de información. LENGUAJES A OBJETOS Basados en Objetos - Utilizan el concepto de clases y de tipo de datos abstractos (TAD) de la Programación orientada a Objetos. ORIENTADOS Orientados a Objetos - Utilizan conceptos de Clases, Herencia, Polimorfismo - Uso de bibliotecas. -Uso de ventanas y de redes (Java). -Son los lenguajes más exitosos de los últimos 15 años. -Utilizan Reutilización de código. -Los arreglos de Java siempre se asignan dinámicamente. -C++, Java tienen manejo de excepciones. -No tienen un procesamiento secuencial. -Son orientados por pilas (LIFO), datos asignados dinámicamente. 143 encadenamient o hacia atrás. Prolog Lisp, Haskell, Ada SQL Visual Basic C++, Java, Smalltalk Windows XP, Windows Server 2003 Comercial Windows XP, Windows XP, Linux Comercial, Científico, Internet Redes. - Tienen buena interface con las grandes DBMS (Data Base Management System), como SQL, ORACLE. Comercial, Científico, Internet Redes. - La programación no es secuencial, por lo tanto se debe ser cuidadoso al programar los objetos y los eventos, pues trabajan en conjunto. - Su programación no es fácil. Ejemplos Fortran, Cobol, C, Pascal, Eiffel, Java. Plataformas Windows XP, LInux Windows XP, Windows XP, Tipos de Uso Científico, Comercial, software Aplicativo, Automatización, Robótica -Son más sencillos de programar, por su accionar secuencial. -C se considera como el de mayor éxito hacia la simplicidad Científico, Comercial Aplicativos - No declaran variables. -Tiene características más avanzadas que LISP. -Tiene una sintaxis fácil. -No permite una eficiente programación Visual, pues se vuelve demasiado engorrosa. - En C, el operador de igualdad carece de generalidad. No permite el principio de Uniformidad. En C++ es necesario ; - Es muy complicada su programación. -Tienen pocos constructores básicos : LISP y PROLOG sólo tienen unos cuantos constructores - Utiliza el concepto - Utiliza un Lenguaje matemático de fácil de entender. función. -Las respuestas a las consultas son instantáneas, tienen un tiempo de respuesta rápido, sin necesidad de programar. -Su programación - Los costos son no es fácil. altos, en las mejores Bases de Datos como ORACLE. Ventajas Desventajas -Mejoran la capacidad de los programadores para la escritura de un código que imita sus diseños. 144 después de la definición de clase, pero está prohibido después de una definición de función. -C tiene mal manejo de cadenas. -En C se viola la legibilidad de diseño con el problema del else ambiguo, pues la sintaxis no nos indica si un else, después de 2 enunciados if, debe asociarse con el primero o el segundo if. básicos pero dependen de un ambiente de ejecución complejo.