La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Lenguajes de Programación Tema 1. Introducción y conceptos generales

Presentaciones similares


Presentación del tema: "Lenguajes de Programación Tema 1. Introducción y conceptos generales"— Transcripción de la presentación:

1 Lenguajes de Programación Tema 1. Introducción y conceptos generales
Pedro García López

2 Copyright © University Rovira i Virgili
Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation; provided its original author is mentioned and the link to is kept at the bottom of every non-title slide. A copy of the license is available at:

3 LENGUAJES DE PROGRAMACIÓN
Objetivos Presentación de los diferentes paradigmas de los lenguajes de programación. Así como de sus carácterísticas fundamentales. Introducción a un lenguaje típico de cada paradigma. Análisis de los conceptos clave sobre los que se construyen los diferentes lenguajes. Introducción a las formas de descripción formal de los lenguajes de programación.

4 LENGUAJES DE PROGRAMACIÓN
I - Introducción (5h). Conceptos y constructores. Descripciones formales: sintaxis y semántica. Paradigmas del los lenguajes de programación. Breve repaso histórico. II - Paradigmas de los lenguatges de programación (35h). Paradigma funcional: Haskell. Paradigma lógico: Prolog. Paradigma imperativo: Ada. Programación orientada a objetos: Smalltalk, Java. III - Conceptos y constructores (10h). Valores. Almacenamiento y variables. Enlaces (bindings). Abstracción. Encapsulación. Sistema de tipos. Secuenciadores.

5 LENGUAJES DE PROGRAMACIÓN
IV - Descripción formal de los lenguajes de programación (8h). Sintaxis. Semántica. Modelos de los lenguajes de programación. V - Conclusiones (2h).

6 LENGUAJES DE PROGRAMACIÓN
Bibliografía “Lenguaje de programación, principios y práctica”, Segunda edición. Kenneth C Louden. Thomson 2004. "Programming Language Concepts and Paradigms D. A.Watt Ed.Prentice-Hall, 1990 "Programming Language Syntax and Semantics D. A.Watt Ed.Prentice-Hall, 1990. "Programming in PROLOG” W. F.Clocksin, C.S.Mellish Ed.Springer. “Introducción a la programación funcional con Haskell. “ Richard Bird, Ed.Prentice-Hall, 1999.

7 Bibliografía Construcción de Software Orientado a Objetos. Bertrand Meyer. Java, How to program. 6/E. Deitel & Deitel

8 Evaluación Examen (Febrero) 50 % Prácticas 50%
75% POO, 25% Funcional y Lógico Prácticas 50% Grupos unipersonales Lenguajes: Java, Python, Haskell, Prolog Se hace media en Febrero a partir de 4 Tutorías: (MSN) Despacho 238

9 Asignaturas relacionadas
Programación 1 Programación 2 Estructuras de datos Lenguajes, Gramáticas y autómatas

10 Indice Abstracciones Paradigmas de computación Definición del lenguaje
¿ Qué es un lenguaje de programación ? Abstracciones Paradigmas de computación Definición del lenguaje Traducción del lenguaje Historia Preguntas

11 1.1 ¿ Qué es un LP ? Computación Legibilidad por parte de la máquina
Definición: Un lenguaje de programación es un sistema notacional para describir computaciones de una forma legible tanto para la máquina como para el ser humano. Computación Máquina Turing, tesis de Church Legibilidad por parte de la máquina Legibilidad por parte del ser humano

12 1.2 Características Eficiencia Expresividad Capacidad de mantenimiento
Legibilidad Confiabilidad Seguridad Simplicidad Productividad

13 1.3 Abstracciones Clases: Datos y control
Niveles: básicas, estructuradas y unitarias Abstracciones de datos: Básicas: tipos básicos (enteros, reales, ...) Estructuradas: tipos estructurados (arreglos, registros) Unitarias: Tipos abstractos de datos (TDAs), paquetes, módulos, clases, componentes

14 1.3 Abstracciones Abstracciones de control Básicas: asignación, goto
Estructuradas: condicionales e iteradores Unitarias: paquetes, módulos, hilos y tareas. Un lenguaje de programación es completo en Turing siempre que tenga variables enteras y aritméticas, y que ejecute enunciados en forma secuencial, incluyendo enunciados de asignación, selección e iteración.

15 1.4 Paradigmas de programación
Imperativo modelo de Von Neuman, cuello de botella de Von Neuman Orientado a Objetos TDAs, encapsulación, modularidad, reutilización Funcional noción abstracta de función, cálculo lambda, recursividad, listas Lógico Lógica simbólica, programación declarativa

16 1.5 Definición del lenguaje
Sintaxis (estructura) Gramáticas libres de contexto, estructura léxica, tokens Semántica (significado) Lenguaje natural Semántica operacional Semántica denotacional

17 1.6 Traducción del lenguaje
Traductor es un programa que acepta otros programas escritos en un lenguaje y: los ejecuta directamente (interprete) los transforma en una forma adecuada para su ejecución (compilador). código fuente entrada intérprete salida

18 1.6 Traducción código fuente código objeto traducción adicional código ejecutable compilación Pseudointérpretes: intermedio entre interprete y compilador: lenguajes intermedios Operaciones de un traductor: analizador léxico (tokens), analizador sintáctico, analizador semántico, preprocesador

19 1.6 Traducción Tiempo de compilación y tiempo de ejecución
Propiedades estáticas: tiempo de compilación Propiedades dinámicas: tiempo de ejecución Recuperación de errores (compilación y ejecución) Eficiencia y optimización (compilación o ejecución)

20 1.7 Historia FORTRAN LISP AlGOL 60 COBOL PL/I Prolog Simula Pascal
50 FORTRAN LISP 60 AlGOL COBOL PL/I Prolog Simula Pascal 70 Smalltalk C ML 80 Ada Miranda 90

21 1.7 Historia 1950 1960 1970 1980 1990 PL/I(66) Eiffel (86) Ada(95)
Cobol(58) Pascal(70) Java(96) Algol(60) ENSAMBLADOR C(72) Simula(67) C++(89) Fortran(54) Smalltalk(80) Basic(66)

22 1.8 Preguntas Clasifica los siguientes lenguajes (C, Ada, C++, Java, LISP, Prolog, Visual Basic, JavaScript, C#, PHP) en base a : Paradigma tipos de traductor (compilador, interprete, pseudointérprete) Propiedades estáticas y dinámicas Eficiencia Extraed conclusiones de esta clasificación

23 1.8 Preguntas Evalua los lenguajes del punto anterior respecto a las características del punto 1.2 Extrae conclusiones de las dos clasificaciones


Descargar ppt "Lenguajes de Programación Tema 1. Introducción y conceptos generales"

Presentaciones similares


Anuncios Google