Departamento de Informática Lenguajes de Programación Universidad Técnica Federico Santa María Departamento de Informática Universidad Técnica Federico Santa María Lenguajes de Programación ¿Porqué estudiar Lenguajes? • Incrementar capacidad de expresar ideas • Mejor base para elegir lenguajes apropiados • Incrementar habilidad de aprender nuevos lenguajes • Mejorar el uso de su lenguaje • Mejor comprensión del significado de la implementación Capítulo I Introducción a los Lenguajes de Programación RMA/2000 1 Departamento de Informática Universidad Técnica Federico Santa María RMA/2000 Departamento de Informática Lenguajes de Programación Criterios de Evaluación Característica / Criterio Aplicaciones de negocio Programación de sistemas Aplicaciones científicas Inteligencia Artificial Scripting (Shell, PERL, etc.) Lenguajes de propósitos especiales (e.g. SQL, Simula, etc.) RMA/2000 Simplicidad/ortogonalidad Estructuras de Control Tipos y estructuras de datos Diseño de sintaxis Soporte para abstracción Expresividad Prueba de tipos Manejo de excepciones Restricción de alias (seudónimos) Facilidad de Lectura * * * * Facilidad de Escritura * * * * * * Fiabilidad * * * * * * * * * (Fuente: Sebasta 1999) I-3 Departamento de Informática Universidad Técnica Federico Santa María Lenguajes de Programación Universidad Técnica Federico Santa María Dominios de Programación • • • • • • I-2 RMA/2000 I-4 Departamento de Informática Lenguajes de Programación Universidad Técnica Federico Santa María Categorías de Lenguajes Lenguajes de Programación Métodos de Implantación • Compilación (e.g. C++) • Interpretación (e.g. LISP) • Híbrido (e.g. Java) • Imperativos – Básicamente una abstracción de la máquina de von Neumann (estados y acciones) • Funcionales – Basado en funciones • Lógicos – Basados en cálculo de predicado de primer orden • *Orientados a Objetos – Extensión de los lenguajes imperativos RMA/2000 I-5 RMA/2000 I-6 Departamento de Informática Departamento de Informática Lenguajes de Programación Universidad Técnica Federico Santa María Ambientes de Programación • • • • • • • Evolución de los Lenguajes Sistema de Archivos Editores Enlazadores Cargadores Compiladores Depuradores etc. • • • • • • • RMA/2000 I-7 Departamento de Informática RMA/2000 Fortran I Fortran II Fortran IV • • • Algol 58 • Flow-Matic • Algol 60 • Cobol • PL/I • • Simula I • Algol W • • Fortran 77 • Algol 68 • I-8 • Tipos de estándares: BCPL B C • de jure y • de facto • Consideraciones importantes: • Smalltalk 80 Ada 83 • Oportuno • Conformidad • Obsolecencia • C++ • ANSI C • Eiffel • Ada 95 Lenguajes de Programación Universidad Técnica Federico Santa María Basic • Modula-2 • Oberon • RMA/2000 Estándares • • • • Simula 67 Pascal • Fortran 90 Lenguaje de Máquina Assembly Fortran y LISP Cobol Algol y sus descendientes Simula 67, Smalltalk y Eiffel C, C++ y Java Departamento de Informática Lenguajes de Programación Universidad Técnica Federico Santa María 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 Lenguajes de Programación Universidad Técnica Federico Santa María • • QuickBasic • Visual Basic Java I-9 RMA/2000 I-10