Lenguajes de Cuarta Generación - Kybele

Anuncio
Lenguajes de Cuarta Generación
Diana
ánchez
S
Diana Marcela
Marcela Sá
Sánchez
http://www.csi.map.es
www.csi.map.es//csi/metrica3/
index.html
http://
csi/metrica3/index.html
http://www.csi.map.es/csi/metrica3/index.html
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
Programación
Lenguaje de
consultas
Lenguaje de
Lenguaje
Marcas
Informático
Lenguaje de
especificación
Lenguaje de
comunicación
04/03/2008
1
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
signos
 Reglas sintácticas
 Reglas 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
Lenguaje de Programación
Características
Lenguajes 4GL
‰ 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ón
 Evitar la ambigüedad
 Creados para atender necesidades puntuales
‰ Tipos de Lenguajes de Programación
 Tipados: Asocian las variables a un tipo de dato especifico
int X;

No tipados:
04/03/2008
Lenguaje de Programación
Características
Lenguajes 4GL
Lenguaje de Programación
Abstracción
Generalización
Modularidad
‰ Elementos de un Lenguaje de programación

Tipos de datos
Estructuras de datos
 Instrucciones y Control de flujo
 Filosofía de diseño
 Compilación e Interpretación

04/03/2008
2
Historia de los Lenguajes de
Programación
Lenguajes 4GL
‰ 1940: Primer dispositivo electrónico para hacer cálculos
velocidades superiores a la del ser humano. Lenguaje
ensamblador
‰ 1960: Primeros lenguajes “modernos”:

Fortran
Lisp
 Cobol

‰ 1967 – 1978: Paradigmas de programación

Orientación a objetos
Programación estructurada
 Programación Lógica
 Ej: Pascal, C, Smalltalk, Prolog, SQL

04/03/2008
Historia de los Lenguajes de
Programación
Lenguajes 4GL
‰ 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
Java
PHP
C#
‰ 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 nivel

Se 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 nivel

Expresan los algoritmos de manera mas cercana a la capacidad
del ser humano
 Más fáciles de aprender
 Formados por elementos de lenguajes naturales (inglés).
 Ejemplos: Java, Basic, C++, etc.
04/03/2008
3
Lenguajes 4GL
Compilador vs Intérprete
‰ Lenguajes compilados

Compilador: programa
traductores entre el código
de alto nivel y el lenguaje
de máquina
 1 línea de código simple,
puede generar muchas
líneas de código máquina
 Programa nunca se ejecuta
mientras haya errores
 Ejemplos:
Lenguajes de la Suite
Visual Studio
Java
SQL
04/03/2008
Lenguajes 4GL
Compilador vs Intérprete
‰ Lenguajes Interpretados
 El 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 necesite
 Interpreta una misma instrucción todas las veces
 Programas lentos en periodo de ejecución pero rápidos en
tiempo de diseño
 Entorno no dependiente de la máquina donde se ejecute
sino del intérprete Æ Máquina Virtual
 Ejemplos:
Perl
PHP
Javascript
04/03/2008
Lenguajes 4GL
Generaciones de los Lenguajes de
Programación
‰ 1GL

Lenguajes empleados a nivel de máquina (1 – 0)
No compiladores – código interpretado directamente por la CPU
 Rápidos
 Portabilidad nula
 Difíciles de aprender y de codificar

‰ 2GL






Assembler (Lenguaje Ensamblador)
Escribir sentencias sencillas (sumas, desplazar bits, etc)
Conversión a lenguaje de máquina (1 – 0) - Compilador
Cada CPU, puede llegar a tener su propio lenguaje ensamblador
Eficiente para ciertas arquitecturas
Requiere un conocimiento amplio de los registros de memoria
con los que se trabaja. Ej: Código de Assembler
04/03/2008
4
Generaciones de los Lenguajes de
Programación
Lenguajes 4GL
‰ 3GL
 Salto cualitativo en los lenguajes de programación
 Lenguajes de propósito general Æ Lenguajes de Alto Nivel
 Fáciles de leer, escribir y mantener
 Necesitan de compiladores y/o interpretes
 Independientes de la arquitectura
 Programación estructurada
 Introducción de variables y nombres de funciones
 Tipos de datos
 Más cercano a los seres humanos

Ej: Basic, C, C#, Java
04/03/2008
Lenguajes 4GL
Características de los 4GL
‰ 4GL




Pensados para reducir tiempo de desarrollo, reducir esfuerzos y costes
El usuario especifica lo que quiere hacer, pero no, cómo lo quiere hacer
Tambien llamados “lenguajes de especificación”
Orientados a entornos específicos:
Consultas a bases de datos: FOCUS, SQL, Natural, Progress 4GL
Generadores de Informes: Oracle Reports, Postscript
Aná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:
SQL
SQL
Leguaje
Leguajepara
para
realizar
realizarlas
las
peticiones
peticiones
Oracle
Oracle Forms
Forms Oracle
Oracle Reports
Reports
Formateador
Formateador
de
delalapantalla
pantalla
Generador
Generadorde
de
Informes
Informes
04/03/2008
Lenguajes 4GL
3GL vs 4GL
‰ 3GL
 Usualmente Procedimental
 Programador tiene que especificar COMO hacer una
operación
‰ 4GL
 No Procedimental
 Programadores especifican QUE es lo que se necesita
mas no COMO hay que hacerlo
04/03/2008
5
Lenguajes 4GL
Bibliografía
‰ Martin J, "Applications Development Without
Programmers, Prentice Hall, 1982
‰ Hehner, E. C. R. (1984) The Logic of Programming
Prentice-Hall International.
‰ Tennent, R. D. (1981) Principles of Programming
Languages Prentice-Hall International.
04/03/2008
Lenguajes 4GL
Preguntas
¿?
04/03/2008
Lenguajes de Cuarta Generación
Diana
ánchez
Diana M.
M. S
Sánchez
Grupo
ón Kybele
Investigaci
Grupo de
de Investigació
Investigación
Kybele
Universidad
Universidad Rey
Rey Juan
Juan Carlos
Carlos
6
Descargar