Con Alan Kay inicié una serie de entradas sobre pioneros de la informática. Referentes de los que uno lee o descubre algo. Hoy continúo con Kent Beck y Ward Cunningham.
Kent y Ward crecieron con el SmallTalk de Ingalls y Kay. Me aventuro a pensar que su temprano contacto con este lenguaje pionero influyó en cómo se aproximaron después a la programación. De algún modo son sus discípulos y representan la segunda generación de ingenieros informáticos de la historia. Ambos han tenido un papel relevante en los principales temas de los 90 en el desarrollo de software: los patrones de diseño, la orientación a objetos y la emergencia de las metodologías agile en la gestión de proyectos.
Por todo ello, a pesar del pesimismo de Kay, yo creo que esta generación sí tomó su relevo:
«I think one of the things we liked the most about Smalltalk was not what it could do, but the fact that it was such a good vehicle for bootstrapping the next set of ideas we had about how to do systems building.»
— Alan Kay
La génesis de los patrones de diseño
La referencia al término patrones de diseño en programación más antigua se le atribuye a Ward y Kent, que la presentaron en OOPSLA 87: Using pattern languages for Object-Oriented programs. El concepto de patrón lo toman prestado del mundo de la arquitectura:
«Each pattern describes a problem which occurs over and over again in our environment, and then describes the core of the solution to that problem, in such a way that you can use this solution a million times over, without ever doing it the same way twice.»
Una vez planteado el problema en la OOPSLA, los siguientes años son frenéticos. Mucha gente trabaja en los patrones. Las siguientes conferencias tienen multitud de referencias a ellos. La idea flota en el ambiente. Uno tras otro van acumulando conocimiento, a hombros de gigantes. Su extensión fue meteórica, apenas 7 años después de que Beck y Cunnigham lanzasen el guante, la GoF (Gang of Four) tenía publicado su libro canónico. Estábamos en el peak del movimiento:
- 1989: Ward y Beck, luego de su trabajo conjunto en Tek Labs, siguen colaborando y describen el hoy famoso método de tarjetas CRC para el diseño de sistemas orientados a objetos en un paper en OOPSLA 89: A laboratory for teaching object-oriented thinking.
- 1991: Bruce Anderson lleva a cabo el taller Towards an Architecture Handbook. En él, la GoF se junta por vez primera y se inician proyectos como el posterior paper de Ralph Jonhson sobre HotDraw: Documenting framewors using patterns. Es sin duda el punto de inflexión. «It’s hot, it’s hot!»
- 1993: Kent Beck y Graddy Booch (miembro de GoF) promueven un fin de semana de retiro en las montañas de colorado con varias personas interesadas en los patrones de diseño: lo que luego se dió en llamar el Hillside Group.
- 1994: se publica el libro canónico de la GoF: Design patterns.
- 1995: Ward pone en marcha un proyecto para compartir información sobre los patrones e invita a la comunidad a participar. Nace el primer wiki.
- 1996: Kent Beck escribe un libro menor -aunque muy influyente en la comunidad Smalltalk- sobre los patrones: Smalltalk Best Practice Patterns. De algún modo, este libro cierra una época.
En paralelo a todo ello, Ward y Beck se convierten en una referencia en el mundo Smalltalk que inaugura la moderna orientación a objetos. Para aquellos que deseéis apenas catar lo que fueron esos años, ese maravilloso caldo de cultivo de las ideas, os recomiendo que leáis este artículo: History of patterns.
Deixa unha resposta