Gracias a todos los lectores y suscriptores, por su apoyo en los primeros 128 capítulos de esta aventura. A partir de esta semana iremos haciendo algunos cambios en el fomato de este boletín, simplificando. Algunas secciones irán rotando en su publicación, irán apareciendo otras. Espero sus comentarios y difusión entre amigos y colegas.
Tal como discutí en esta entrada en mi blog, la era del software artesanal ha terminado.
Durante décadas hemos tratado de industrializar el desarrollo de software. Intentamos con las metodologías en cascada, con RUP o con CMMI. Después vinieron las metodologías ágiles, que paradójicamente celebraban cierto retorno a lo artesanal: “individuos e interacciones sobre procesos y herramientas”.
Pero ahora, con la llegada de la IA generativa, finalmente estamos entrando en la verdadera era industrial del software.
Curiosamente, hace 15 años, Bertrand Meyer realizó una predicción para el 2020, según él, para esa fecha el software se caracterizaría porque:
Seguiríamos usando lenguajes orientados al objeto
La programación profesional sería mucho más rigurosa
La verificación estaría integrada en el proceso de desarrollo
Cada programa tendrá una interfaz web
La concurrencia estará en todas partes
Tendremos más confianza en la evaluación de los objetivos
La ingeniería de software no será solo un proceso, sino que una tecnología
No sé ustedes, pero según yo, no le fue bien en sus predicciones. Para el primer punto, la orientación a objetos ha sido fuertemente cuestionada en la última década, y nuestros lenguajes tienen una mayor superficie funcional, y menos orientada al objeto. El punto dos, bueno, no lo veo. En el punto tres hemos avanzado muy poco, casi nada en verdad, con respecto a 2010. El punto 4 en gran parte, pero también hay una tendencia a interfaces más simples, ya sea en la terminal, o con lenguaje natural (chats). La concurrencia sí está presente en muchas partes, pero no en todas. Seguimos con problemas en la evaluación de objetivos, y más aún en las estimaciones.
Por último, seguimos lidiando tratando de que la ingeniería de software sea adoptada en todos lados. ¿Aun así, hay esperanza para esta predicción? ¿Será posible que la ingeniería de software se convierta en una tecnología con el apoyo de la IA? En este último punto me detendré un poco, pero necesito más espacio para elaborarlo, así que ese será el tema de la próxima entrada en mi blog, ahí los espero.
📖 Citas Citables
“..todo el mundo sabe que un ingrediente vital del éxito es no saber que lo que intentas es imposible.
— Terry Pratchett en “Ritos Iguales”
«The world needs verified software, but the software development community is reluctant to use traditional heavy-duty verification techniques. While some of the excuses are unacceptable, others sources of resistance are justified and it is our job to make verification part of the very fabric of everyday software development.»
— Bertrand Meyer
👨🏻💻 Hacking
El primer hack que usa las herramientas IA con cli.
🧠 Pensamiento lateral
Leer es de pobres, hubo una polémica en España por ciertos comentarios de una influencer, pero la preocupación es más global. Hay muchos argumentos de por qué leer es importante y te ayuda, pero acá van algunos desde una perspectiva más social y política.
📺 Para ver
“Halt and Catch Fire”, una serie que vi hace varios años, pero que ahora está disponible en la plataforma Pluto TV. Una realidad alternativa donde se cuenta una historia dramática de 5 emprendores, que se involucran en el desarrollo de la tecnología, desde las primeras PC hasta la World Wide Web. Muy buenos actores, y episodios atrapantes. También tiene defectos, como muchas caricaturas innecesarias, pero es una serie que vale la pena, para todos los amantes de la tecnología. Algunas de las historias, sobre todo de la primera temporada, están inspiradas en hechos reales.
🤖 IA
Por supuesto que en estas últimas semanas la novedad ha sido Nano-Banana, así que es algo que no debemos olvidad de mencionar.