Este es un post que tengo pendiente desde hace rato largo y está motivado por este link que me envió Nicolás Avellaneda http://codebetter.com/blogs/patricksmacchia/archive/2008/03/18/number-of-types-in-the-net-framework.aspx
Junto con el link, Nicolás preguntaba: "Mas tipos, métodos, interfaces, etc. ¿Nos brindan herramientas más simples?"
Esta pregunta me recuerda inevitablemente el excelente artículo de Fred Brooks, "No silver bullet", a la luz del cual podemos reformular la pregunta de Nicolás como: "¿ha logrado la plataforma .NET introducir un cambio en el orden de magnitud de la complejidad de la construcción del software?"
Definitivamente la respuesta a esto depende de contra que comparemos. Personalmente creo que si comparamos contra otras tecnologías actuales como Java, Ruby, Phyton y otras no tan recientes como VB6, Delphi, Smalltalk, no creo que que ni por asomo las cosas hayan cambiado en orden de magnitud, aunque sin duda muchas cosas se han simplificado.
Distinta puede que sea la cuestión si comparamos contra tecnologías más antiguas como COBOL y Pascal. De todas formas es preciso aclarar que mis opiniones están teñidas por el contexto en el cual trabajo: desarrollo de software de gestión.
Volviendo a la pregunta original ¿tenemos herramientas más simples? Creo que definitivamente si. Y en este sentido resulta interesante la estrategia planteada por Microsoft de querer unificar los distintos modelo de programación. Inicialmente con la aparición de la plataforma .NET y particularmente con ASP.NET Microsoft intentó unificar el modelo de programación Web y Windows, y podríamos decir que hasta cierto punto lo logró.
La reciente aparición de Silverligth también es un esfuerzo en ese sentido. No importa donde ni como vaya a correr la aplicación, no importa si es una interface web, smart cliente o RIA, no importa si es un web service o un componente remoto, no importa de si es lógica de negocio o de acceso a datos, la plataforma de desarrollo es siempre la misma: lenguaje C# e IDE Visual Studio. De esta forma se busca que un programador pueda hacer "todo" tipo de programación conociendo simplemente las herramientas mencionas C# y Visual Studio (al menos esta es la intención de Microsoft).
My 2 cent.
Nicoláz
Un comentario en “Sobre la evolución de herramientas”