domingo, 9 de agosto de 2015

Libros para programar en .Net (o no)

Hace un par de días un compañero en la oficina me preguntó qué libro le recomendaría para aprender .Net y me preguntó por FowlerMartin Fowler es un gran divulgador informático, es fácil de leer y tiene las ideas muy claras. Pero las ideas que comunica son generales a todos los lenguajes de programación.

Lo cierto es que para aprender a programar en .Net Microsoft tiene actualmente una excelente plataforma de aprendizaje gratuita en internet.

Si quieres aprender asp.net lo mejor es ir a www.asp.net y la opción de menú learn tienes guías de aprendizaje de todas las tecnologías web de Microsoft y del ORM Entity Framework.

Por otro lado si quieres aprender a hacer aplicaciones que no son web lo mejor es que vayas a la Microsoft Virtual Academy donde hay muchos cursos gratuitos estructurados por la tecnología que más te interese.

CSinDepthPero si realmente lo que quieres es aprender c# y dominar el lenguaje, el mejor libro que conozco es “C# in Deepth”. En el momento de escribir esta líneas el libro se encuentra en su tercera edición y cubre la evolución del leguaje hasta la quita versión. No se me ocurre mejor libro para conocer a fondo c#, leyendo el libro comprendes mejor la intención de los creadores del lenguaje y como las evoluciones del lenguaje tienen sentido.

Detrás de este libro se encuentra Jon Skeet. Skeet es famoso por ser la persona con más respuestas en Stack Overflow y aunque trabaja en google como desarrollador su pasión es c#. Por ponerle alguna pega, algunos dicen que no es un libro para principiantes y es cierto, pero si llevas un par de años programando creo que debería ser suficiente para poder disfrutarlo.

¿Sería recomendable para alguien que quiere aprender a programar aplicaciones libros de diseño? Los patrones quizás no sean imprescindibles para programar, ya que estos no dejan de ser soluciones estándar a problemas habituales. Pero unifican el lenguaje que usamos y simplifican la comunicación con otros compañeros.

PatronesDiseñoEl más importante y el libro referente es “Patrones de Diseño” del Gang of Four (GoF) ¿Hasta que punto es relevante en el día a día del desarrollador? no lo sé pero creo que si te interesa tener una cultura general en el desarrollo del software es importante estar familiarizados con muchos de los conceptos y terminología que se presentan en el libro.

El libro se divide en dos partes claramente diferenciadas, un caso de estudio donde diseñan un editor de documentos, identifican los problemas y los patrones que utilizan para resolverlos.

La segunda parte es un c catálogo de patrones organizados por tipos de problemas. Como os podéis imaginar, la estructura de catálogo no hace que la lectura sea amena, esa parte (la mas extensa del libro) está hecha más bien a modo de consulta.

PatternsEnterpriseY sin el libro del GoF no creo que existiría “Patterns of Enteprise Application Architecture”  de Martin Fowler. Al igual que el anterior, este libro se divide en dos partes separadas una parte “novelada” donde se centra en los problemas habituales en el diseño de una aplicación (división en capas, concurrencia, presentación, etc), exponiendo distintas soluciones, comparándolas y exponiendo los pros y contras de cada una de ellas.

Y una segunda parte que vuelve a ser un aséptico catálogo con los patrones organizados por tipos de problemas. Al igual que en el otro libro una sección de consulta, no pensada para leérsela de un tirón.

Y aunque lo que me preguntaban era por libros para aprender a programar en .Net y por Fowler, no puedo dejar de mencionar a uno de los primeros autores que conocí por nombre: Steve McConnel. Tiene dos libros de referencia “Clean Code (second eddition)” y “Rapid development”. A este último le tengo un especial cariño.

RapidDevelopmentY es que “Rapid Development” es el libro que todos mis jefes deberían haber leído leer. Habla sobre la problemática del desarrollo del software. Se divide en tres partes una primera y breve donde analiza y enumera los problemas del desarrollo de software.

En la segunda parte explica su concepto de desarrollo rápido, la planificación del ciclo de vida del proyecto, estimaciones, organización, como organizar al equipo, mantenerlo motivado, como estructurarlo, etc.

Y en la tercera finaliza con un catálogo de buenas prácticas para la gestión de proyectos de software.

El libro es del 96 y pueda parecer desfasado y no lo está. Si un libro de 1975 como “The Mythical Man-Month” de donde se sacan ideas tan vigentes hoy en día como “no existe bala de plata” o la ley de Brooks (Nueve mujeres no pueden hacer un hijo en un mes), el libro de “Rapid Develoment” también lo es.

En el 68 se comenzó a hablar de la crisis del software y parece que aun a día de hoy seguimos con muchos de los mismo problemas.

De todas formas como uno aprende más (al igual que muchas otras profesiones) es con la práctica, es decir programando, enfrentándose a problemas reales y solucionándolos.

No hay comentarios:

Publicar un comentario