Estructura e interpretación de programas informáticos ( SICP ) es un libro de texto de informática escrito porlos profesores del Instituto Tecnológico de Massachusetts (MIT), Harold Abelson y Gerald Jay Sussman, junto con Julie Sussman. Es conocido como el "Libro del Mago" en la cultura hacker . [ 1 ] Enseña los principios fundamentales de la programación informática , incluyendo la recursión , la abstracción , la modularidad y el diseño e implementación de lenguajes de programación .
MIT Press publicó la primera edición en 1984 y la segunda en 1996. Se utilizó como libro de texto para el curso introductorio de informática del MIT desde 1984 hasta 2007. SICP se centra en descubrir patrones generales para resolver problemas específicos y en construir sistemas de software que utilicen esos patrones. [ 2 ]
MIT Press publicó una versión en JavaScript del libro en 2022. [ 3 ]
Contenido
El libro describe conceptos de informática utilizando Scheme , un dialecto de Lisp . También utiliza una máquina de registros virtuales y un ensamblador para implementar intérpretes y compiladores de Lisp .
Los temas que se tratan en los libros son:
Capítulo 1: Creación de abstracciones con procedimientos
- Los elementos de la programación
- Procedimientos y los procesos que generan
- Formulación de abstracciones mediante procedimientos de orden superior
Capítulo 2: Creación de abstracciones con datos
- Introducción a la abstracción de datos
- Datos jerárquicos y la propiedad de cierre
- Datos simbólicos
- Múltiples representaciones para datos abstractos
- Sistemas con operaciones genéricas
- Asignación y Estado Local
- El modelo de evaluación ambiental
- Modelado con datos mutables
- Concurrencia : El tiempo es esencial
- Corrientes
Capítulo 4: Abstracción metalingüística
- El Evaluador Metacircular
- Variaciones sobre un esquema: evaluación perezosa
- Variaciones de un esquema: computación no determinista
- Programación lógica
Capítulo 5: Computación con máquinas de registro
- Diseño de máquinas de registro
- Un simulador de máquina de registros
- Asignación de espacio de almacenamiento y recolección de basura
- El evaluador de control explícito
- Compilación
Personajes
En el libro aparecen varios personajes ficticios con nombres graciosos:
- Alyssa P. Hacker, una hacker de Lisp
- Ben Bitdiddle
- Cy D. Fect , un "programador de C reformado".
- Eva Lu Ator
- Lem E. Tweakit
- Louis Reasoner, un "razonador poco riguroso".
Licencia
El libro está bajo una licencia Creative Commons Atribución-CompartirIgual 4.0 Internacional (CC BY-SA 4.0). [ 4 ]
Trabajos del curso
El libro se utilizó como libro de texto para el antiguo curso introductorio de programación del MIT, 6.001, [ 5 ] desde el otoño de 1984 hasta su último semestre, en el otoño de 2007. [ 6 ] Otras escuelas también utilizaron el libro como libro de texto de sus cursos. [ 7 ]
Recepción
Byte recomendó SICP en 1986 "para programadores profesionales que estén realmente interesados en su profesión". La revista afirmó que el libro no era de fácil lectura, pero que expondría a los programadores experimentados a temas tanto antiguos como nuevos. [ 8 ]
Una reseña de SICP como libro de texto de pregrado realizada por Philip Wadler señaló las debilidades del lenguaje Scheme como lenguaje introductorio para un curso de ciencias de la computación. [ 9 ] Wadler criticó en particular la falta de coincidencia de patrones , que oscurece el razonamiento ecuacional y dificulta la enseñanza de demostraciones; la falta de tipos de datos algebraicos en Scheme y la dependencia excesiva de pares cons tanto para la representación de código como de datos, lo que puede confundir a los estudiantes principiantes; y la elección de la evaluación estricta en lugar de la evaluación perezosa como estrategia de evaluación estándar.
Influencia
SICP ha sido una figura influyente en la enseñanza de la informática, y varios libros posteriores se han inspirado en su estilo.
- Estructura e interpretación de la mecánica clásica (SICM) , otro libro que utiliza Scheme como elemento didáctico, de Gerald Jay Sussman y Jack Wisdom.
- Diseño de software para la flexibilidad , por Chris Hanson y Gerald Jay Sussman
- Cómo diseñar programas (HtDP) , que pretende ser un libro más accesible para la introducción a la informática y abordar las deficiencias percibidas en SICP.
- Fundamentos de los lenguajes de programación (EoPL) , un libro para cursos de lenguajes de programación.
Véase también
- Compiladores: Principios, técnicas y herramientas – también conocido como El libro del dragón
Referencias
- ↑ Raymond, Eric S.; Steele, Guy (1991). El nuevo diccionario del hacker . Internet Archive. Cambridge, Massachusetts: MIT Press. ISBN 978-0-262-68069-1.
- ↑ Harvey, B (2011), "¿Por qué importa SICP?" , El 150 aniversario del MIT , Boston Globe.
- ↑ Estructura e interpretación de programas informáticos: Edición JavaScript . MIT Press. 2022. ISBN 9780262543231.
- ↑ "SICP" . MIT Press. Archivado del original el 26-12-2017 . Consultado el 11-11-2007 ..
- ↑ "Ingeniería eléctrica e informática; 6.001 Estructura e interpretación de programas informáticos" . OpenCourseWare . MIT. Primavera de 2005. Consultado el 21 de junio de 2020 .
- ↑ Guy, Donald, "El fin de una era", Admisiones del MIT (comentario de blog), archivado del original el 21/08/2018 , recuperado el 05/08/2008 ,
Hablé con el profesor Sussman por teléfono... Dijo que en realidad había estado intentando que se reemplazara 6.001 durante los últimos diez años (y leí en alguna parte que el profesor Abelson también estaba detrás del cambio). Entender los principios ya no es esencial para una introducción a la materia. Él ve 6.001 como obsoleto.
- ↑ "Universidades y colegios que utilizan SICP" . MIT Press. Archivado del original el 23 de abril de 2022. Consultado el 30 de marzo de 2022 .
- ↑ Kilov, Haim (noviembre de 1986). Byte Magazine Volumen 11 Número 12: Representación del conocimiento . pág. 70.
- ↑ Wadler, P (1987-03-01). "Una crítica a Abelson y Sussman o por qué calcular es mejor que planear" . ACM SIGPLAN Notices . 22 (3): 83– 94. doi : 10.1145/24697.24706 . ISSN 0362-1340 .
Enlaces externos
- Sitio web oficial
- videoclases
- Libro compilado a partir de código fuente TeX.
- Estructura e interpretación de programas informáticos. Versión interactiva.
- Libros de no ficción de 1984
- Libros de no ficción de 1996
- Libros de informática
- Libros de programación informática
- Libros con licencia Creative Commons
- Instituto Tecnológico de Massachusetts
- Scheme (lenguaje de programación)
- Lisp (lenguaje de programación)
