Lenguales de programacion comparados
Antecedentes generales de la programación modular
ALGOL 60 • Diseñado por comité • Estructura en bloques • Declaraciones de tipo explícitas para variables • Reglas de alcance para variables locales • Tiempos de vida dinámicos, opuestos a los estáticos, para variables • Expresiones y enunciados anidados • Subrutinas recursivas • Arreglos con límites dinámicos
ALGOL 68 • Gramáticaformal • Ortogonalidad • Definición de operadores por el usuario
45
3.1.1
Antecedentes generales de la programación modular
Pascal (Nicklaus Wirth) • Objetivos: Proporcionar un lenguaje de enseñanza Definir un lenguaje estándar verdadero que fuera barato y fácil de implementar en cualquier computadora • Tipificación de datos fuerte • No es ortogonal • Para enseñanza y experimentación,no de producción
ADA (DOD 1983, Jean Ichbiah) • Basado en Pascal • Programación en tiempo real • Diseñado para procesos integrados • Organizado por unidades que pueden compilarse en forma separada
46
3.1.1
Antecedentes generales de la programación modular
CPL y BCPL (Univs. Londres - Cambridge 60's) • Orientados a programación de sistemas
C (Ritchie y Thompson 70's) • Pequeño •Portable • Tipificación de datos permisiva • Tanto de alto como de bajo nivel • Más eficiente que elegante • Código poco legible
47
3.1.2
Conceptos generales de la programación modular
Conceptos (de ALGOL 60) • Es un lenguaje algorítmico; es decir, facilita la solución paso por paso de problemas, incluyendo ciclos repetitivos. • El algoritmo es transmitido a la computadora como una seriede cambios al almacenamiento (memoria) • Las unidades básicas de cálculo son el bloque y el procedimiento
• Las variables son tipificadas, y los tipos son verificados en tiempo de compilación y/o tiempo de ejecución • Utiliza la regla de alcance lexicográfico (estático); es decir, el entorno de un procedimiento es aquel en el que está definido • Está diseñado para ser compilado, más queinterpretado
48
3.1.2
Conceptos generales de la programación modular
Características: • Bloques anidados • Procedimientos • Recursión Aspectos: • Efectos colaterales • Tipificación de datos - Fuerte - Débil • Ciclo de vida del software
Requerimientos
Diseño Codificación Pruebas Operaciones Modelo de cascada para el ciclo de vida del software
49
3.2.1
Antecedentes generales de laprogramación orientada a objetos
Simula Centro de cómputo noruego (1961) Propósito: Describir sistemas y programar simulaciones Motivos: • Expresar procesos que son permanentes y activos • Crear y destruir tales procesos como sea necesario • Extender un lenguaje para incluir procesos • Proporcionar a los procesos un mecanismo de ejecución en forma concurrente • Agrupar procesos sujetos a losmismos procedimientos en clases
Smalltalk -Alan Kay (1972) • Totalmente orientado (puro) a objetos
50
3.2.1
Antecedentes generales de la programación orientada a objetos
Java • • • • • • • • • • • Sun Microsystems Simple Orientado a objetos Distribuido Robusto Seguro Arquitectura neutral Portátil Interpretado Alto desempeño Multihilo Dinámico
- Todo es un objeto
51
3.2.2Conceptos generales de la programación orientada a objetos
52
3.3.1
Antecedentes generales de la programación concurrente
Paralelo ≠ Secuencial módulos procesos Factores: • El uso de procesadores múltiples • Cooperación entre los procesadores • El potencial para falla parcial
Mem 1
Cpu 1
Modelos físicos para procesamiento en paralelo
Mem 2
Cpu 2
Menor acoplamiento
Memoriacompartida
Mayor acoplamiento
CPU 1
CPU 2
53
3.3.1
Antecedentes generales de la programación concurrente
Ventajas: • Se pueden acelerar programas al ejecutar diferentes procesos en paralelo • Son capaces de mejorar la confiabilidad si dos o más procesadores duplican el trabajo de cada uno de ellos • Proporcionan una avenida natural para el crecimiento del sistema cuando se...
Regístrate para leer el documento completo.