lenguajes de cuarta generación - kybele.etsii.urjc.eshc4gl... · compilación e interpretación. 3...

6
1 Lenguajes de Cuarta Generación Diana Marcela Sánchez http://www.csi.map.es/csi/metrica3/index.html Diana Marcela S Diana Marcela Sánchez nchez http:// http://www.csi.map.es www.csi.map.es/csi csi/metrica3/ /metrica3/index.html index.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

Upload: phamkhanh

Post on 24-Sep-2018

219 views

Category:

Documents


0 download

TRANSCRIPT

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