Hay tantos libros de programación por ahí, a veces es difícil saber qué libros son los mejores. La programación en sí misma es muy amplia y hay muchos conceptos que aprender. Esta lista de libros es una selección de los libros más valiosos para cada categoría principal de Software.
|
etiquetas: selección , libros , programación
Sin reciclajes, sin formación continua, sin grandes novedades tecnológicas desde el Siglo XIX. ¡Haz de la fontanería tu profesión!
Paco el plomero. 15° Edición.
Y si no te gusta puedes usarlo como arma de destrucción masiva, porque es un ladrillo enorme. Si lo llevas en la mochila te sentirás como los hermanos Dalton intentando escapar del penal arrastrando con dificultad la bola atada a sus tobillos.
Es el libro con el cual descubrí que los ordenadores molaban más que ir en bici.
www.amazon.co.uk/Designing-Web-Standards-Jeffrey-Zeldman/dp/0735712018
www.amazon.es/Diseño-estandares-web-Diseno-Creatividad/dp/8441516081
El mejor libro sobre web que leí nunca, ameno, divertido y útil. Lástima que a estas alturas esté totalmente desfasado.
NO SABES INFORMÁTICA
2. learnyouahaskell.com/chapters
3. www.braveclojure.com/clojure-for-the-brave-and-true/
Es más, ¿Qué es el termino despectivo "informático"?
Lo que teníamos era el típico licenciado con 4 años currando, que venía a clase con 2 pdfs de mierda que no nos compartía, se pasaba la clase haciendo el ultimo ejercicio de deberes sin corregir nada, luego te daba fecha para exámen y se lo inventaba todo. Lo que te pueda enseñar un inútil de esos es lo mismo que puedes sacarte de la "lista de 100 consejos para programar bien" y los ejercicios son los mismos vayas a una privada que a una pública. Los mismos putos ejercicios de mates que han usado durante los ultimos 40 años.
Lo único que va a hacer un profe de programación es corregir examenes dos veces por trimestre.
Ojalá hubiese empezado por mi cuenta con libros y alguna buena página web en lugar de tirar el dinero y mi tiempo.
En mi opinión no hacen falta libros nuevos, sino textos Consolidados, de los que cada detalle ha sido pulido a lo largo de los años.
La informática y la programación son dos cosas distintas. Es como la electricidad y la electrónica, no son lo mismo ni por asomo aunque sus principios si lo sean.
Salu2
Lo que digo es que es mejor aprender por cuenta propia y luego hacer los cursos.
Hay de todo.
www.youtube.com/watch?v=R3nNR_XALoQ
Solo starups o empresas rollo google donde ya has demostrado que eres un genio.
Sino el camino mas facil es tener un titulo, puede ser que sin titulo te cojan pero no es lo normal
El asunto es sacar patrones de lo que repiten todos ellos y presentarlos como una especie de infografia al estilo de las que hace Dominic Walliman en su canal Domain of Science
Mapa de la Ciencias de la Computación
(Map of computer sciene)
www.youtube.com/watch?v=SzJ46YA_RaA
Despues se pueden hacer para los distintos dominios dentro de la ciencia de la computación una especie de infografia equivalente. Por ejemplo una infografia equivalente para algunos de los libros.
Hay que imaginar esto como una espiral que empieza desde un punto central y va aumentado. Despues tomas la linea de la espiral como el camino completo que supuestamente tendrias que hacer. En las primeras vueltas centrales de la espiral está todo lo que es comun a todo, lo que son las bases de todo, y despues segun avanzas por la espiral vas aumentando lo que necesitas saber. Pero para comprender partes del camino de la espiral de fuera tienes que haber comprendido partes de la espiral de mas adentro.
Que la gente presuma de haber leído ese libro, lo recomiende, o considere que 'desearía haberlo leído antes' es una prueba mas de lo en pañales que está aún esta ciencia.
Salu2
Hay muchos otros libros, como object oriented design heuristics, que creo mucho mas relevantes, pero claro, no te explican 'truquitos' o conceptos tan imprecisos, enfocados a que produzcas código sin entender absolutamente nada. Dicho esto, insisto: Uncle Bob es un crack, no estoy diciendo que el autor de ese libro no entienda nada, estoy diciendo que ese libro es adorado por gente que generalmente, no entiende nada, y que eso es consecuencia del público al que está dirigido y la forma en la que está redactado y explicado todo.
Aun así, te he votado positivo por que no querer hacer "clases monstruosas", pese a lo impreciso de todo, al menos muestra interés por producir software mantenible y extensible, que ya es mucho hoy en día
A mi me pasan eso o paso el marrron a otra persona en pla hijo puta o miro que función tenia eso y lo reescribo de 0. Seguramente seria mejor que intentar saber que es eso.
Has creado un comentario recursivo
Independientemente de tu lenguaje de programación.
* Beautiful Code
* The pragmatic programmer
* The art of Unix programming
* Programming Pearls
* Peopleware
* The C programming language
O de lo sobrado que te crees tú.
Eso depende enteramente de lo que consideres que significa que alguien se "cree sobrado". Como no puedo adivinar a que te refieres con algo tan indefinido como 'ir de sobrado', te explico mi postura y tu decides si el caso es que la programación está en pañales, o es que yo soy me creo un sobrado, o quizás las dos cosas.
En primer lugar, el propio autor define su obra como:
The mission of this series is to improve the state of the art of software craftsmanship
sacado de la primera página después de la portada. Es decir, el mismo reconoce que esto va de "artesanía". No es un libro de software engineering, ni de principios de la informática. Es un libro de "artesania". Dentro del libro se habla de cosas como que las funciones sean "cortas" o que hagan una sola cosa (aunque no definen claramente que significa eso, de una manera objetiva y medible).
Todo el libro es una oda a la "intuición" y los "truquitos". Si bien no tengo nada en contra de ello, no es mas que un recopilatorio de "aprendizajes" de un señor que ha programado mucho, y desde luego es un experto. Fíjate que Robert C. Martin si entiende muy bien los fundamentos conceptuales que existen detrás de sus consejos simplificados y sus "truquitos", pero ese tipo de explicaciones no las vas a encontrar en clean code. Las vas a encontrar en otras obras mas conceptuales.
Yo no tengo nada en contra de Robert C. Martin, al cual considero un gran programador y un gran ingeniero, y tampoco tengo nada en contra de hacer un libro recolectando todo tipo de truquitos básicos de la industria que simplifican y proporcionan estrategias y mecanismos para poder realizar ciertas tareas sin entender lo que se está haciendo.
Sin embargo, el primer ordenador del mundo se creó en el 36. Las ciencias de la computación se apoyan en matemáticas que tienen siglos y los fundamentos en los que se basa la programación tienen también siglos. Pues bien, tras tantos años los programas informáticos se siguen programando de forma desastrosa y la gente necesita que Robert C. Martin le explique que tiene que crear códigos cortos conectados entre si que crean codigos mas complejos, que conectandos entre si crean otros mas complejos, que conectados entre si crean programas completos. Y que al hacerlo así, todo es mucho mas fácil.
Es triste. Si entender cosas tan básicas como esa me hace un sobrado, debo ser un sobrado. ¿Lo que yo pienso? Que no tengo ni puta idea. Que las estructuras conceptuales que construyen un programa moderno son de tal complejidad que razonar sobre ellas escapa a mis posiblidades y a las de casi nadie, y que tardaremos aun años en crear las abstracciones y herramientas necesarias para que todo esto mejore lo suficiente como para poder cubrir las necesidades de digitalización de la humanidad.
Pero aunque soy consciente de la complejidad, entiende que me asombre cuando abro meneame y veo que el libro revelador es precisamente un libro lleno de dibujos que te trata como a un niño pequeño y te explica de manera simplificada hasta el absurdo la forma en la que principalmente no tienes que hacer tus programas, basandose en ejemplos inespecificos y con comparaciones culturales.
Pero bueno, en el resto de ciencias lo normal es exigir un mínimo de rigor, en esta ciencia lo normal es comprar libros de instrucciones para intentar atajar, y poder crear sin entender nada. Y es normal, como digo las necesidades de digitalización son tan fuertes que empujan a esto. Es el mercado amigo.
Mantenimiento y escalabilidad. Sólo con esto ya no harían falta más razones.
Ayuda para desarrollar código más eficiente.
No duplicas código.
Es mucho más fácil seguir tu diseño.
Facilidad de reconocimiento de patrones de diseño.
Coverage de test unitarios.
Revisiones de código eficientes.
Amistad con los compañeros de trabajo.
Seguro que me dejo más razones.
Las funciones son los ladrillos de un programa ¿te imaginas construir un rascacielos con ladrillos del tamaño de coches? Para mi si una funcion tiene más de 20 líneas ya me hace pensar que estoy haciendo algo mal.
Hay gente (lease #1) a la q no le puedes pedir que este todo el dia autoformandose y aun asi son tus compañeros de trabajo, sacan el producto adelante y son necesarios. Y si les puedes dar un libro que les pone todo blanco sobre negro y que dice grandes PRINCIPIOS que pueden hacer que SU codigo, con el que lidias TU sea mas comprensible sera bueno para ti y para ellos.
Si tus compañeros de trabajo no son tan buenos como tu entonces tu labor es hacerlos mejorar, por ellos, por ti y por tu empresa.
No digo nada de revisión por que evidentemente eso no ha podido ser revisado.
Test-Driven Development de Kent Beck
Clean code de Robert C martin
Lo pregunto en serio. Es un tema que me interesa entender.
Se trata de ingeniar soluciones para resolver problemas de la gente, no de pajearse con matematicas.
Yo no niego la utilidad del libro, pero es un libro que sirve para que la gente que programa sin haber entendido las bases deje de romper o complicar el código de forma innecesaria. Entenderás mi sorpresa cuando la gente dice abiertamente que ese es el libro que desearía haber leído antes. Precisamente un libro que le das a la gente que no tiene bases pero cree saber y no para liarla...
Creo que estás muy perdido.
Decir que la informática no es una ciencia sino una ingeniería es absurdo e ignorante. La informática es todo el campo de estudio relacionado con el uso, aplicación y construcción de computadoras. Dentro de ese campo tan grande, hay varias ciencias, principalmente la física y las matemáticas, creando un campo llamado "ciencias de la computación" que es muchas cosas, pero principalmente es el estudio científico de las computadoras.
Además de las ciencias, la informática incluye también la ingeniería, que emerge como resultado de aplicar la informática. La ingeniería informática estudia la computación aplicada. Dentro de la ingeniería hay muchas disciplinas.
Como te veo muy perdido, te recomiendo mirar este video, aquí lo explica todo muy bien.
www.youtube.com/watch?v=SzJ46YA_RaA
Por cierto, sobre lo de pajearse con matemáticas... yo trabajo de ingeniero. Me pagan por problemas relacionados con la aplicación de la informática. Pero creo que tu aún no te has dado cuenta que para resolver problemas de la gente necesitas entender ciencias de la computación.
Leyéndote entiendo el éxito de libros como el de Uncle Bob.
En mis 10 años de experiencia he de decir que jamás he visto a nadie, salvo en este año, que haya seguido esa reglas tan fundamentales.
Vivimos de solucionar problemas y eso es lo que hacemos como ingenieros.
Y la ingenieria depende del INGENIO y la ciencia solo marca los limites.
Porque recomiendo ese libro a gente? porque se que les va a ayudar y esta escrito de manera muy amena.
Porque quiero que mejoren
Porque me encanta lo que hago, soy buen compañero y en lo que pueda les ayudare.
Porque no soy un sobrado.