El título de esta entrada suena a pataleta, y en cierto modo lo es. También es un poco exagerado, porque la intención es llamar la atención.

Aprovechando las bondades de la jornada intensiva, por fin he podido hincarle el diente al libro "Symfony 5: The Fast Track", escrito por Fabien Potencier, creador del framework Symfony. El libro propone la construcción de una aplicación web muy sencilla (un libro de visitas) que sirve de excusa para repasar la mayoría de componentes que ofrece Symfony. De esa forma iremos descubriéndolos —apenas rascando la superficie— y nos podremos hacer una idea de todas las posibilidades que ofrece.

Desde luego que, para afianzar y ampliar conocimientos, parece un buen plan. Además que fue un libro que adquirí en febrero de 2020 y ya tenía ganas de ponerme con él a fondo. Pero, debido a esta demora, me estoy encontrando algunos inconvenientes.

Symfony 5: The Fast Track - primera edición en inglés Symfony 5: The Fast Track - primera edición en inglés

El libro fue escrito con la versión 5.0 en mente. Dicha versión apareció en noviembre de 2019 y dejó de estar soportada en julio de 2020. Más adelante aparecieron las versiones 5.1 y 5.2. Por ir al grano, la versión actual es la 5.3. Y no sólo eso, sino que hay otras librerías que también se tratan en el libro que, obviamente, después de casi año y medio han recibido sus actualizaciones, algunas con cambios más acentuados que otras. Para complicar aun más las cosas, la versión que dispone de un soporte extendido es la 4.4, que recibirá correcciones de bugs hasta noviembre de 2022 y de seguridad hasta noviembre de 2023.

Por tanto, si te pones hoy con el libro, lo más sensato parece usar la última versión disponible (la 5.3). Ya que vas a estudiar algo, que sea lo más reciente posible. Y eso nos lleva a que hay capítulos enteros del libro que están obsoletos. No digo líneas o párrafos concretos. Digo capítulos enteros. Afortunadamente, tenemos disponible una versión online del libro, versión que se va actualizando acorde a los cambios que se van produciendo en las distintas versiones de las librerías empleadas, así como en el propio Symfony. Pero, si nos vemos obligados a acceder a dicha versión digital, ¿para qué sirve el libro impreso, si no es para decorar (en el mejor de los casos) u ocupar un precioso espacio en la estantería (en el peor)?

Espero que entendáis ahora un poco mejor mi frustración y el porqué no tengo intención de comprar más libros técnicos de papel de este estilo. Me refiero a que la temática trate sobre algo que, por decirlo de alguna manera, siga vivo y en constante evolución. Otra cosa sería comprar uno que se centre en temas más abstractos, como patrones de diseño, arquitecturas, etc., o lenguajes de programación ya asentados, como podría ser el clásico libro de C de Kerninghan y Ritchie.

En cuanto al libro en sí, y ya que estamos hablando de él, la verdad es que me está gustando bastante. Pero hay algunos detalles que, aunque comprendo los motivos, me han desilusionado un poco. El primero es que, aun sabiendo que es un libro de Symfony, creo que abusa demasiado de la "magia" que nos ofrece el framework para automatizar y hacernos las cosas más sencillas. Es lógico aprovecharse de ello, pero estaría bien que explicase cómo funcionan los automatismos por debajo. Creo que así se aprendería más y mejor.

Otro detalle que me ha dejado un poco frío es que se apoya constantemente en Symfony Cloud para los ejemplos de despliegue y uso en producción. Es también normal, ya que es un servicio que forma parte del ecosistema y está totalmente integrado con Symfony, pero al ser de pago, supone una barrera de entrada quizás difícil de sortear cuando queremos simplemente aprender, queremos usar otras herramientas o, simplemente, no queremos pasar por el aro.

Es cierto que todavía no he acabado el libro; me quedan tres o cuatro capítulos. Igual me llevo una sorpresa y tengo que modificar mi opinión, cosa que haré encantado. En cualquier caso el balance es positivo. Y, como poco, ya me ha servido para anotar algunos temas sobre los que quiero y debo profundizar más, por curiosidad y para seguir intentando que mi rendimiento en mi trabajo sea cada día un poco mejor que el anterior.