Para mí, definitivamente es Estructura e Interpretación de Programas de Computadora. Es un libro que está densamente lleno de pequeñas revelaciones de programación.
Este libro enseña que la programación sin estado mutable es bastante poderosa, independientemente de lo que su fondo imperativo le sugiera. Después de eso, usted comprende cuán poderosas son las funciones como mecanismo de abstracción y aprende a ver abstracciones más apropiadas en su código. Es sorprendente lo lejos que puede llegar con un simple mecanismo de abstracción que se utiliza correctamente.
Enseña que puede que no sea necesario aprender los rincones oscuros de una sintaxis de lenguaje de programación para usarla cómodamente (y enseña a apreciar una sintaxis buena y expresiva al mismo tiempo). Después de eso, todas las discusiones sobre las ventajas sintácticas de un idioma sobre otro generalmente parecen superficiales y aburridas.
Este libro le enseña a construir un sistema de objetos completo a partir de funciones y estados mutables. Después de eso, sabes que no hay magia profunda en OOP que deba ponerse en el lenguaje mismo.
- ¿Qué lenguaje y libro de programación de computadoras son los mejores para introducir a los 12 años a la programación de computadoras?
- ¿Qué libros necesito para aprender informática por mi cuenta?
- ¿Qué libro o sitio debo consultar para aprender Estructura de datos?
- ¿Cuál es el mejor libro para el lenguaje de programación de Java para un principiante?
- ¿Cuáles son los libros más interesantes que puedo leer en programación o ciencias de la computación?
Este libro enseña que los lenguajes de programación no son enormes mastodontes que generalmente se encuentran en el lugar de trabajo del programador. La idea misma de cambiar un lenguaje industrial “serio” es aterradora, pero no debería ser así. Los idiomas pueden ser pequeños, compactos, totalmente comprensibles, fáciles de modificar según sus necesidades. Los lenguajes no deben ser clavados a la misma semántica inflexible que casi todos los lenguajes de programación ampliamente conocidos son (por ejemplo, hay un lugar para la programación lógica / actor / no determinista cuando su tarea se ajusta).
Este libro enseña que todos sus conceptos de alto nivel no están tan lejos del hardware de la computadora. Escribir un compilador y un sistema de tiempo de ejecución para un lenguaje de programación de alto nivel puede ser bastante transparente y directo, no hay magia allí también.