Upload
phamkhanh
View
227
Download
0
Embed Size (px)
Citation preview
1
Lenguajes de Cuarta Generación
Diana Marcela Sánchez
http://www.csi.map.es/csi/metrica3/index.html
Diana Marcela SDiana Marcela Sááncheznchez
http://http://www.csi.map.eswww.csi.map.es//csicsi/metrica3//metrica3/index.htmlindex.html
04/03/2008
Lenguajes 4GL Que es un programa?
La unión de una secuencia de instrucciones que un computador puede interpretar y ejecutar y un conjunto de estructuras de datos que almacenan la información sobre la que la operan las instrucciones
04/03/2008
Lenguajes 4GL Lenguajes en Informática
¿Qué es un Lenguaje Informático?Cualquiera que es usado por, o asociado con, ordenadores.
Lenguaje de consultas
Lenguaje de especificación
Lenguaje de comunicación
Lenguaje de
Marcas
Lenguaje de
Programación
Lenguaje
Informático
2
04/03/2008
Lenguajes 4GL Introducción
Los lenguajes informáticos son artificiales y en general se pueden dividir en dos partes claras
Conjunto de símbolos o signosReglas sintácticasReglas semánticas
Pragmático
Principio de Claridad: “La estructura de un lenguaje de programación deberá ser bien definida y el resultado de una porción de código fácilmente predecible”
04/03/2008
Lenguajes 4GL Lenguaje de ProgramaciónCaracterísticas
Lenguaje de Programación: Se utiliza para facilitar las tareas de manejo de información y expresar algoritmos de forma precisa
Propósitos de los Lenguajes de ProgramaciónEvitar la ambigüedadCreados para atender necesidades puntuales
Tipos de Lenguajes de ProgramaciónTipados: Asocian las variables a un tipo de dato especifico
int X; No tipados:
04/03/2008
Lenguajes 4GL Lenguaje de ProgramaciónCaracterísticas
Lenguaje de Programación
Abstracción ModularidadGeneralización
Elementos de un Lenguaje de programaciónTipos de datosEstructuras de datosInstrucciones y Control de flujoFilosofía de diseñoCompilación e Interpretación
3
04/03/2008
Lenguajes 4GL Historia de los Lenguajes de Programación
1940: Primer dispositivo electrónico para hacer cálculos velocidades superiores a la del ser humano. Lenguaje ensamblador
1960: Primeros lenguajes “modernos”:FortranLispCobol
1967 – 1978: Paradigmas de programaciónOrientación a objetosProgramación estructuradaProgramación LógicaEj: Pascal, C, Smalltalk, Prolog, SQL
04/03/2008
Lenguajes 4GL Historia de los Lenguajes de Programación
1980: Consolidación del paradigma orientado a objetos y se empiezan a ver los lenguajes de 5ª generación (lenguajes lógicos)
1990: El auge de la red, genera la necesidad de intercambio de información, procesos, funciones.
RMI (Remote Method Interface)XML (eXtensible Method Language)Lenguajes mas abstractos e independientes de la arquitectura
JavaPHPC#
2000: Programación orientada a aspectos, a componentes, integración con BDs o XML, soporte para juegos.
04/03/2008
Lenguajes 4GL Clasificación de los Lenguajes de Programación Según su nivel de Abstracción
Lenguajes de bajo nivelSe acercan al funcionamiento de una computadora. Mayor adaptación al equipo. Posibilidad de obtener la máxima velocidad con mínimo uso de memoria. Ejemplos: Código Máquina y código ensamblador
Lenguajes de medio nivel: Lenguajes intermedios entre el lenguaje de máquina y los lenguajes de fácil comprensión al usuario
Lenguajes de alto nivelExpresan los algoritmos de manera mas cercana a la capacidad del ser humanoMás fáciles de aprender Formados por elementos de lenguajes naturales (inglés). Ejemplos: Java, Basic, C++, etc.
4
04/03/2008
Lenguajes 4GL Compilador vs Intérprete
Lenguajes compiladosCompilador: programa traductores entre el código de alto nivel y el lenguaje de máquina1 línea de código simple, puede generar muchas líneas de código máquinaPrograma nunca se ejecuta mientras haya erroresEjemplos:
Lenguajes de la Suite Visual StudioJavaSQL
04/03/2008
Lenguajes 4GL Compilador vs Intérprete
Lenguajes InterpretadosEl código fuente es traducido a lenguaje de máquina en la medida en la que se va utilizando. Se toma la instrucción y los datos que necesiteInterpreta una misma instrucción todas las vecesProgramas lentos en periodo de ejecución pero rápidos en tiempo de diseñoEntorno no dependiente de la máquina donde se ejecute sino del intérprete Máquina VirtualEjemplos:
PerlPHPJavascript
04/03/2008
Lenguajes 4GL Generaciones de los Lenguajes de Programación
1GLLenguajes empleados a nivel de máquina (1 – 0)No compiladores – código interpretado directamente por la CPURápidosPortabilidad nulaDifíciles de aprender y de codificar
2GLAssembler (Lenguaje Ensamblador)Escribir sentencias sencillas (sumas, desplazar bits, etc)Conversión a lenguaje de máquina (1 – 0) - CompiladorCada CPU, puede llegar a tener su propio lenguaje ensambladorEficiente para ciertas arquitecturasRequiere un conocimiento amplio de los registros de memoria con los que se trabaja. Ej: Código de Assembler
5
04/03/2008
Lenguajes 4GL Generaciones de los Lenguajes de Programación
3GLSalto cualitativo en los lenguajes de programaciónLenguajes de propósito general Lenguajes de Alto Nivel Fáciles de leer, escribir y mantenerNecesitan de compiladores y/o interpretesIndependientes de la arquitecturaProgramación estructuradaIntroducción de variables y nombres de funcionesTipos de datosMás cercano a los seres humanos
Ej: Basic, C, C#, Java
04/03/2008
Lenguajes 4GL Características de los 4GL
4GLPensados para reducir tiempo de desarrollo, reducir esfuerzos y costesEl usuario especifica lo que quiere hacer, pero no, cómo lo quiere hacerTambien llamados “lenguajes de especificación”Orientados a entornos específicos:
Consultas a bases de datos: FOCUS, SQL, Natural, Progress 4GLGeneradores de Informes: Oracle Reports, PostscriptAnálisis y manipulación de datos: Maple, PL/SQL. Creación de webs: ColdFusion
Casi siempre cuentan con grandes librerías, que incluyen múltiples funciones para resolver problemas puntuales“Entornos de Desarrollo”: Une las ventajas de varios 4GL para desarrollar sistemas complejos. Ej:
Leguaje para realizar las peticiones
Leguaje para realizar las peticiones
SQLSQL Oracle FormsOracle Forms Oracle ReportsOracle Reports
Formateadorde la pantallaFormateador
de la pantallaGenerador de
InformesGenerador de
Informes
04/03/2008
Lenguajes 4GL 3GL vs 4GL
3GLUsualmente ProcedimentalProgramador tiene que especificar COMO hacer una operación
4GLNo ProcedimentalProgramadores especifican QUE es lo que se necesita mas no COMO hay que hacerlo
6
04/03/2008
Lenguajes 4GL Bibliografía
Martin J, "Applications Development Without Programmers, Prentice Hall, 1982
Hehner, E. C. R. (1984) The Logic of ProgrammingPrentice-Hall International.
Tennent, R. D. (1981) Principles of Programming Languages Prentice-Hall International.
04/03/2008
Lenguajes 4GL Preguntas
¿¿¿???
Lenguajes de Cuarta Generación
Diana M. SánchezGrupo de Investigación Kybele
Universidad Rey Juan Carlos
Diana M. Diana M. SSááncheznchez
GrupoGrupo de de InvestigaciInvestigacióónn KybeleKybele
Universidad Rey Juan CarlosUniversidad Rey Juan Carlos