Anuncio

Estructura e Interpretación de Programas Informáticos

Portada del libro Estructura e Interpretaciu00f3n de Programas Informu00e1ticos

Scheme es un dialecto de Lisp que se utiliza en la enseñanza de la computación desde hace décadas. Aunque no tiene el mismo despliegue comercial que otros lenguajes, su influencia en la forma de entender la programación es difícil de exagerar.

Muchas ideas que hoy damos por sentadas —como la recursión, la evaluación perezosa o la programación funcional— encontraron en Scheme un terreno fértil para ser exploradas y enseñadas. En un momento donde lenguajes como Clojure, Haskell o incluso JavaScript adoptan conceptos surgidos de esta tradición, volver a las fuentes tiene más sentido que nunca.

Introducción al libro

Estructura e Interpretación de Programas de Computador, conocido simplemente como SICP o el Libro del Mago, es un texto clásico de ciencias de la computación escrito por Harold Abelson y Gerald Jay Sussman, con Julie Sussman. Durante años fue el libro de texto del curso introductorio 6.001 del MIT y ha formado a generaciones de programadores.

El libro no enseña un lenguaje de programación. Usa Scheme como vehículo para explorar ideas fundamentales: cómo construir abstracciones, cómo organizar datos, cómo diseñar sistemas modulares y cómo implementar lenguajes de programación desde cero. Está dirigido a estudiantes con cierta familiaridad con la programación que quieran profundizar en los principios que están detrás de todo código.

Contenido del libro

SICP está organizado en cinco capítulos que construyen progresivamente una comprensión más profunda de la computación. El primer capítulo sienta las bases con procedimientos, recursión y funciones de orden superior. El segundo extiende estas ideas al terreno de los datos abstractos y las estructuras jerárquicas. El tercero aborda la complejidad de los sistemas con estado, objetos y concurrencia. El cuarto es quizá el más revelador: enseña a construir intérpretes, mostrando cómo los lenguajes de programación no son más que programas que manipulan otros programas. El quinto cierra con la implementación de un compilador y una máquina registral.

A lo largo del libro, el lector no solo aprende conceptos, sino que desarrolla la capacidad de pensar en términos de procesos computacionales: qué significa evaluar una expresión, cómo se comporta un programa en ejecución y por qué ciertas formas de organizar el código son más poderosas que otras.

Índice del libro

  • Prólogo por Alan J. Perlis
  • Prefacio a la Segunda Edición
  • Prefacio a la Primera Edición
  • Agradecimientos
  • 1. Construyendo Abstracciones con Procedimientos
    • 1.1 Los Elementos de la Programación
    • 1.2 Procedimientos y los Procesos que Generan
    • 1.3 Formulación de Abstracciones con Procedimientos de Orden Superior
  • 2. Construyendo Abstracciones con Datos
    • 2.1 Introducción a la Abstracción de Datos
    • 2.2 Datos Jerárquicos y la Propiedad de Clausura
    • 2.3 Datos Simbólicos
    • 2.4 Múltiples Representaciones para Datos Abstractos
    • 2.5 Sistemas con Operaciones Genéricas
  • 3. Modularidad, Objetos y Estado
    • 3.1 Asignación y Estado Local
    • 3.2 El Modelo de Entorno para la Evaluación
    • 3.3 Modelado con Objetos Mutables
    • 3.4 Programación Concurrente
    • 3.5 Flujos (Streams)
  • 4. Abstracción Metalingüística
    • 4.1 El Evaluador Metacircular
    • 4.2 Evaluación con Análisis Sintáctico Separado
    • 4.3 Variaciones sobre un Scheme — Evaluación Perezosa
    • 4.4 Programación Lógica
  • 5. Computando con Máquinas de Registro
    • 5.1 Diseño de Máquinas de Registro
    • 5.2 Un Simulador de Máquinas de Registro
    • 5.3 Asignación de Almacenamiento y Recolección de Basura
    • 5.4 El Evaluador de Control Explícito
    • 5.5 Compilación
  • Referencias
  • Lista de Ejercicios
  • Índice

Datos del libro

  • Título: Estructura e Interpretación de Programas Informáticos
  • Autor: Harold Abelson y Gerald Jay Sussman, con Julie Sussman
  • Año de publicación: 1996 (segunda edición)
  • Editorial: MIT Press / McGraw-Hill
  • Páginas: ~657
  • Tiempo de lectura estimado: ~16 h 25 min
  • Nivel: Intermedio
  • Categoría principal: Programación
  • Subcategoría: Scheme
  • Idioma: Español
  • Licencia: CC BY-SA 4.0 (Creative Commons Atribución-CompartirIgual 4.0 Internacional)

Más libros en: Programación, Scheme


Aviso legal: Este libro se comparte únicamente con fines educativos. El contenido se distribuye bajo licencias Creative Commons o permisos explícitos de sus autores. OpenLibro no aloja material con derechos reservados.

Libros relacionados

Anuncios