Louden, Kenneth C.
Lenguajes de programación : principios y práctica / Kenneth C. Louden ; traducción: Gabriel Sánchez García ; revisión técnica: Ricardo Díaz Santiago ; Diseño de portada: Daniel Aguilar - Segunda edición - xiv, 663 páginas : gráficas ; 25 x 19 cm.
Introducción, pág. 1 / ¿Qué es un lenguaje de programación?, pág. 2 / Abstracciones en los lenguajes de programación, pág. 4 / Paradigmas de computación, pág. 12 / Definición de lenguaje, pág. 18 / Traducción del lenguaje, pág. 20 / Diseño del lenguaje, pág. 26 / Ejercicios, pág. 27 / Nota y referencias, pág. 29 / Historia, pág. 31 / Albores históricos: el primer programador, pág. 32 / Los años 50: los primeros lenguajes de programación, pág. 33 / Los años 60: una explosión de lenguaje de programa, pág. 35 / Los años 70: simplicidad, abstracción, estudio, pág. 38 / Los años 80: nuevas direcciones y la creciente importancia de la orientación a objetos, pág. 39 / Los años 90: consolidación, internet, bibliotecas y la redacción de marcos, pág. 41 / El futuro, pág. 44 / Ejercicios, pág. 45 / Notas y referencias, pág. 47 / Principios de diseño de los lenguajes, pág. 49 / Historia y criterios de diseño, pág. 51 / Eficiencia, pág. 52 / Regularidad, pág. 54 / Principios adicionales sobre diseño de los lenguajes, pág. 57 / C++: un estudios de caso de los diseños de los lenguajes, pág. 61 / Ejercicios, pág. 65 / Notas y referencias, pág. 68 / Sintaxis, pág. 69 / Estructura léxica de los lenguajes de programación, pág. 70 / Gramática libres de contexto y BNF, pág. 74 / Arboles de análisis sintéticos y árboles de sintaxis abstracta, pág. 80 / Ambigüedad, asociatividad y precedencia, pág. 83 / EBNF y diagramas sintácticos, pág. 87 / Técnicas y herramientas de análisis sintáctico, pág. 91 / Léxico comprado con la sintaxis y con la semántica, pag. 102 / Ejercicios, pág. 104 / Notas y referencias, pág. 112 / Semántica básica, pág. 113 / Atributos, ligaduras y funciones semánticas, pág. 114 / Declaraciones, bloques y alcance, pág. 118 / La tabla de símbolos, pág. 127 / Resolución y sobrecarga de nombres, pág. 139 / Asignación, tiempo de vida y el entorno, pág. 145 / Variables y constantes, pág. 153 / Alias, referencias pendientes y basura, pág. 153 / Ejercicios, pág. 159 / Notas y referencias, pág. 171 / Tipos de datos, pág. 173 / Tipos de datos e información de tipos, pág. 176 / Tipos simple, pág. 180 / Constructores de tipos, pág. 183 / Nomenclatura de tipos en lenguaje de ejemplo, pág. 196 / Equivalencia de tipos, pág. 199 / Verificación de tipos, pág. 205 / Conversión de tipos, pág. 211 / Verificación de tipos polimórficos, pág. 214 / Polimorfismo explícito, pág. 222 / Ejercicios, pág. 228 / Notas y referencias, pág. 279 / Control I- Expresiones y enunciados, pág. 237 / Expresiones, pág. 238 / Enunciados y guardias condicionales, pag. 246 / Ciclos y variaciones sobre WHILE, pág. 251 / La controversia GOTO, 255 / Manejo de excepciones, pág. 257 / Ejercicios, pág. 272 / Notas y referencias, pág. 279 / Control II- Procedimientos y ambientes, pág. 313 / Definición y activación de los procedimientos, pág. 283 / Semántica de los procedimientos, pág. 285 / Mecanismos de paso de parámetros, pág. 289 / Ambientes, activación y asignación de los procedimientos, pág. 296 / Administración de la memoria dinámica, pág. 309 / Manejo de excepciones y de ambiente, pág. 313 / Ejercicios, pág. 315 / Notas y referencias, pág. 324 / Tipos de datos abstractos y módulos, pág. 325 /Especificación algebraica de los tipos de datos abstractos, pág. 328 / Mecanismos de tipos de datos abstractos y módulos, pág. 332 / Compilación individual en C, espacios de nombres C++ y paquete Java, pág. 335 / Paquetes de Ada, pág. 343 / Módulos en ML, pág. 348 / Módulos en lenguaje anteriores, pág. 351 / Problemas que se presentan con los mecanismos de tipos de datos abstractos, pág. 356 / Las matemáticas de los tipos de datos abstractos, pág. 356 / Ejercicios, pág. 364 / Notas y referencias, pág. 372 / Programación orientada a objetos, pág. 373 / Reutilización e independencia del software, pág. 374 / Java: objetos, clases y métodos, pág. 377 / Herencia, pág. 382 / Ligadura dinámica, pág. 393 / C++, pág. 396 / Smaltalk, pág. 407 / Cuestiones de diseño en lenguaje orientado a objetos, pág. 412 / Ejercicios, pág. 417 / Ejercicio, pág. 422 / Notas y referencias, pág. 429 / Programación funcional, pág. 431 / Programas como funciones, pág. 433 / Programación funcional en un lenguaje imperativo, pág. 436 / Sheme: un dialecto de LIPS, pág. 440 / ML: programación funcional con tipificación estático, pág. 453 / Evaluación retrasada, pág. 464 / Haskell: Un lenguaje perezoso completamente Curry con sobrecarga, pág. 469 / Las matemáticas en la programación funcional I: funciones recursivas, pág. 476 / Las matemáticas en la programación funcional II: Cálculo lambda, pág. 479 / Ejercicios, pág. 484/ Notas y referencias, pág. 491 / Programación lógica, pág. 493 / Lógica y programas lógicos, pág. 495 / Clausulas Horn, pág. 498 / Resolución y unificación, pág. 501 / El lenguaje Prolog, pág. 505 / Problemas que se presentan con la programación lógica, pág. 516/ Extensión de la programación lógica: programación lógica con restricciones y sistema basados en ecuaciones, pág. 520 / Ejercicios, pág. 523 / Notas y referencias, pág. 529 / Semántica formal, pág. 531 / Pequeño lenguaje de muestra, pág. 533 / Semántica operacional, pág. 536 / Semántica denotacional, pág. 546 / Semántica axiomática, pág. 554 / Pruebas para determinar la correctitud de un programa, pág. 560 / Ejercicios, pág. 563 / Notas y referencias, pág. 567 / Programación en paralelo, pág. 569 / Introducción al procesamiento en paralelo, pág. 569 / Procesamiento en paralelo y lenguajes de programación, pág. 571 / Hilos, pág. 575 / Semáforos, pág. 590 / Monitores, pág. 594 / Paso de mensajes, pág. 599 / Paralelismo en lenguaje no imperativo, pág. 606 / Ejercicios, pág. 610 / Notas y referencias, pág. 616 / Bibliografía, pág. 617 / Índice alfabético, pág.. 625
Este libro es una introducción al amplísimo campo de los lenguaje de programación. Combina una presentación general de los principios juntos con considerables detalles acerca de los lenguajes modernos incluyendo algunos de los más recientes lenguajes funcionales y los orientados a objetos.
0534953417
Lenguaje de programación--Computadores
Análisis de sistemas
Procesamiento de datos
005.136 / L68L 2004
Lenguajes de programación : principios y práctica / Kenneth C. Louden ; traducción: Gabriel Sánchez García ; revisión técnica: Ricardo Díaz Santiago ; Diseño de portada: Daniel Aguilar - Segunda edición - xiv, 663 páginas : gráficas ; 25 x 19 cm.
Introducción, pág. 1 / ¿Qué es un lenguaje de programación?, pág. 2 / Abstracciones en los lenguajes de programación, pág. 4 / Paradigmas de computación, pág. 12 / Definición de lenguaje, pág. 18 / Traducción del lenguaje, pág. 20 / Diseño del lenguaje, pág. 26 / Ejercicios, pág. 27 / Nota y referencias, pág. 29 / Historia, pág. 31 / Albores históricos: el primer programador, pág. 32 / Los años 50: los primeros lenguajes de programación, pág. 33 / Los años 60: una explosión de lenguaje de programa, pág. 35 / Los años 70: simplicidad, abstracción, estudio, pág. 38 / Los años 80: nuevas direcciones y la creciente importancia de la orientación a objetos, pág. 39 / Los años 90: consolidación, internet, bibliotecas y la redacción de marcos, pág. 41 / El futuro, pág. 44 / Ejercicios, pág. 45 / Notas y referencias, pág. 47 / Principios de diseño de los lenguajes, pág. 49 / Historia y criterios de diseño, pág. 51 / Eficiencia, pág. 52 / Regularidad, pág. 54 / Principios adicionales sobre diseño de los lenguajes, pág. 57 / C++: un estudios de caso de los diseños de los lenguajes, pág. 61 / Ejercicios, pág. 65 / Notas y referencias, pág. 68 / Sintaxis, pág. 69 / Estructura léxica de los lenguajes de programación, pág. 70 / Gramática libres de contexto y BNF, pág. 74 / Arboles de análisis sintéticos y árboles de sintaxis abstracta, pág. 80 / Ambigüedad, asociatividad y precedencia, pág. 83 / EBNF y diagramas sintácticos, pág. 87 / Técnicas y herramientas de análisis sintáctico, pág. 91 / Léxico comprado con la sintaxis y con la semántica, pag. 102 / Ejercicios, pág. 104 / Notas y referencias, pág. 112 / Semántica básica, pág. 113 / Atributos, ligaduras y funciones semánticas, pág. 114 / Declaraciones, bloques y alcance, pág. 118 / La tabla de símbolos, pág. 127 / Resolución y sobrecarga de nombres, pág. 139 / Asignación, tiempo de vida y el entorno, pág. 145 / Variables y constantes, pág. 153 / Alias, referencias pendientes y basura, pág. 153 / Ejercicios, pág. 159 / Notas y referencias, pág. 171 / Tipos de datos, pág. 173 / Tipos de datos e información de tipos, pág. 176 / Tipos simple, pág. 180 / Constructores de tipos, pág. 183 / Nomenclatura de tipos en lenguaje de ejemplo, pág. 196 / Equivalencia de tipos, pág. 199 / Verificación de tipos, pág. 205 / Conversión de tipos, pág. 211 / Verificación de tipos polimórficos, pág. 214 / Polimorfismo explícito, pág. 222 / Ejercicios, pág. 228 / Notas y referencias, pág. 279 / Control I- Expresiones y enunciados, pág. 237 / Expresiones, pág. 238 / Enunciados y guardias condicionales, pag. 246 / Ciclos y variaciones sobre WHILE, pág. 251 / La controversia GOTO, 255 / Manejo de excepciones, pág. 257 / Ejercicios, pág. 272 / Notas y referencias, pág. 279 / Control II- Procedimientos y ambientes, pág. 313 / Definición y activación de los procedimientos, pág. 283 / Semántica de los procedimientos, pág. 285 / Mecanismos de paso de parámetros, pág. 289 / Ambientes, activación y asignación de los procedimientos, pág. 296 / Administración de la memoria dinámica, pág. 309 / Manejo de excepciones y de ambiente, pág. 313 / Ejercicios, pág. 315 / Notas y referencias, pág. 324 / Tipos de datos abstractos y módulos, pág. 325 /Especificación algebraica de los tipos de datos abstractos, pág. 328 / Mecanismos de tipos de datos abstractos y módulos, pág. 332 / Compilación individual en C, espacios de nombres C++ y paquete Java, pág. 335 / Paquetes de Ada, pág. 343 / Módulos en ML, pág. 348 / Módulos en lenguaje anteriores, pág. 351 / Problemas que se presentan con los mecanismos de tipos de datos abstractos, pág. 356 / Las matemáticas de los tipos de datos abstractos, pág. 356 / Ejercicios, pág. 364 / Notas y referencias, pág. 372 / Programación orientada a objetos, pág. 373 / Reutilización e independencia del software, pág. 374 / Java: objetos, clases y métodos, pág. 377 / Herencia, pág. 382 / Ligadura dinámica, pág. 393 / C++, pág. 396 / Smaltalk, pág. 407 / Cuestiones de diseño en lenguaje orientado a objetos, pág. 412 / Ejercicios, pág. 417 / Ejercicio, pág. 422 / Notas y referencias, pág. 429 / Programación funcional, pág. 431 / Programas como funciones, pág. 433 / Programación funcional en un lenguaje imperativo, pág. 436 / Sheme: un dialecto de LIPS, pág. 440 / ML: programación funcional con tipificación estático, pág. 453 / Evaluación retrasada, pág. 464 / Haskell: Un lenguaje perezoso completamente Curry con sobrecarga, pág. 469 / Las matemáticas en la programación funcional I: funciones recursivas, pág. 476 / Las matemáticas en la programación funcional II: Cálculo lambda, pág. 479 / Ejercicios, pág. 484/ Notas y referencias, pág. 491 / Programación lógica, pág. 493 / Lógica y programas lógicos, pág. 495 / Clausulas Horn, pág. 498 / Resolución y unificación, pág. 501 / El lenguaje Prolog, pág. 505 / Problemas que se presentan con la programación lógica, pág. 516/ Extensión de la programación lógica: programación lógica con restricciones y sistema basados en ecuaciones, pág. 520 / Ejercicios, pág. 523 / Notas y referencias, pág. 529 / Semántica formal, pág. 531 / Pequeño lenguaje de muestra, pág. 533 / Semántica operacional, pág. 536 / Semántica denotacional, pág. 546 / Semántica axiomática, pág. 554 / Pruebas para determinar la correctitud de un programa, pág. 560 / Ejercicios, pág. 563 / Notas y referencias, pág. 567 / Programación en paralelo, pág. 569 / Introducción al procesamiento en paralelo, pág. 569 / Procesamiento en paralelo y lenguajes de programación, pág. 571 / Hilos, pág. 575 / Semáforos, pág. 590 / Monitores, pág. 594 / Paso de mensajes, pág. 599 / Paralelismo en lenguaje no imperativo, pág. 606 / Ejercicios, pág. 610 / Notas y referencias, pág. 616 / Bibliografía, pág. 617 / Índice alfabético, pág.. 625
Este libro es una introducción al amplísimo campo de los lenguaje de programación. Combina una presentación general de los principios juntos con considerables detalles acerca de los lenguajes modernos incluyendo algunos de los más recientes lenguajes funcionales y los orientados a objetos.
0534953417
Lenguaje de programación--Computadores
Análisis de sistemas
Procesamiento de datos
005.136 / L68L 2004