¿Hay algún gran libro de programación o desarrollo de software que sea independiente del lenguaje? ¿Por qué debería leerlo?
books
language-agnostic
nivlam
fuente
fuente
Respuestas:
El programador pragmático: de oficial a maestro - Andrew Hunt y David Thomas
Este libro trata sobre cómo escribir código que funcione y se pueda mantener. Un concepto clave es ser práctico. Todo en el libro se reduce a 70 consejos fáciles de recordar que lo ayudan a entregar un software mejor y de mayor calidad.
fuente
Código completo: un manual práctico de construcción de software por Steve McConnell
Este libro es probablemente el libro definitivo sobre construcción de software. Discute temas como los fundamentos para la construcción (requisitos, arquitectura y diseño), elegir un lenguaje de programación, elegir una metodología de desarrollo, diseñar clases y objetos, escribir funciones y métodos de alta calidad, programación defensiva, uso y denominación de variables , tipos de datos, organización y formateo de declaraciones, programación colaborativa, pruebas, depuración, refactorización y herramientas de desarrollo.
Esto es imprescindible en el estante de cada ingeniero de software, incluso si no está escribiendo código explícitamente.
fuente
Mi favorito es: Estructura e interpretación de programas de computadora
Fue mi primer libro de texto académico hace 10 años, y todavía me sorprende lo relevante que es en la predicción de tendencias en la "Ingeniería de Software" de última generación y la programación en general.
Utiliza LISP para sus ejemplos, pero no considero a LISP ningún tipo de lenguaje, por lo tanto, es totalmente agnóstico;)
fuente
Código limpio - Robert Martin
fuente
El mes del hombre mítico - Frederick P Brooks
Este es un libro imprescindible para desarrolladores de software. La mayoría de los tomos de desarrollo de software hablan sobre software de codificación, lenguajes de programación y las últimas tecnologías y técnicas para escribir software.
En "El mes del hombre mítico", el Sr. Brooks aborda un aspecto más fundamental (IMO) del desarrollo de software: el aspecto social. Aborda los problemas que se enfrentan en un proyecto de software importante, desde el problema de agregar personas, el segundo efecto del sistema y la necesidad de un proceso adecuado.
Este libro es uno que analiza la programación desde la perspectiva de convertirla en una disciplina de ingeniería, algo que puede usarse para diseñar una pieza de software grande y compleja.
fuente
Patrones de diseño . Los patrones se doblan en gran medida OOP, pero dentro de OOP, son bastante aplicables a cualquier idioma.
Deberías leerlo porque te hará un mejor diseñador. Le enseña buenas maneras de resolver problemas de diseño de subsistemas que tal vez no haya resuelto hasta que haya estado diseñando sistemas durante 40 años. Son soluciones reutilizables para problemas semi-comunes. Dicho esto, hay un patrón que los estudiantes de segundo año atraviesan cuando aprenden patrones de diseño en la escuela:
fuente
Diseño impulsado por el dominio: abordar la complejidad en el corazón del software
Eric Evans
Muchos conceptos de alto nivel, es un libro bastante avanzado que no recomendaría a los desarrolladores novatos. Si está trabajando en un proyecto de software a gran escala con muchas interdependencias, esta es una gran referencia.
fuente
Código - Microsoft Press.
Es un excelente libro de computadora causal que te lleva del código Morse al binario y viceversa.
fuente
Desarrollo guiado por pruebas: por ejemplo, por Kent Beck.
Una súper introducción a TDD. Me inició en el camino TDD. Los ejemplos de código son Java, pero el material es muy independiente del lenguaje.
fuente
Estos son todos los libros que he leído completamente o releído porciones significativas de algunas veces y están bien juntos. Soy un recién llegado a la programación en su conjunto, así que los he usado para obtener una comprensión contextual de lo que debo aprender a hacer.
Oh por las cosas de la base de datos
fuente