lunes, 24 de diciembre de 2007

.NET: pues va a ser eso

Como profesional del desarrollo de aplicaciones, llevo años probando todo lo que sale. Decepcionante a menudo, normalucho la mayoría de las veces, decente en ocasiones, y en un porcentaje mínimo, sobresaliente. Cuando empecé en la programación, en PC no tenías acceso a muchos entornos de programación decentes. Empecé con el Quick Basic porque venía con el SO y era bastante accesible. Todavía me acuerdo de un videojuego que se montó un conocido con unos amigos (claro, yo casi no sabía nada y me impresionó) al estilo Indiana Jones y la última cruzada, a base de Peeks y Pokes. Después ese mismo colega me pasó un Turbo Pascal 6 y un Turbo C++ 1, y lo flipé, claro. Especialmente el TP 6, con el que programé durante unos seis años, era un entorno complejísimo para la época y tremendamente eficiente. Pasó un tiempo para que me volviera a emocionar programando con un lenguaje, aunque este no tenía ni entorno. Estoy hablando de Perl. Por aquel entonces controlaba unos cuantos más, claro, y mi visión acerca de lo que era desarrollar y usar entornos era más amplia, pero no había cambiado mucho, a decir verdad. Visual Basic era una diferencia, sin duda, pero después de usar Pascal, C y Perl, programar en Basic me sabía demasiado a poco.

Pues desde entonces (más o menos hablo de 1999, cuando comencé en serio con Perl), hasta hace un par de años o tres programar hasta se me había hecho aburrido. Nada nuevo bajo el sol. Sí, Java, mira chico tú que guay, pero no aportaba nada que no pudiera hacer en Perl más rápido y transparente. Llegué a concienciarme de que iba a tener que trabajar eternamente con lenguajes de script (sí, ya sé que alguno pondrá una mueca de disgusto a este comentario), hasta que como digo hace unos tres años me encontré con algo nuevo que ahora mismo es prácticamente lo único con lo que trabajo, por razones que explicaré luego: .NET.

Antes de que nadie diga nada, yo también fui crítico con este entorno cuando lo sacó Microsoft en 2001, pero ahora reconozco avergonzado que por ignorancia y antipatía. Cuando instalé la versión 2003 y comencé a trabajar con ello, aún siendo un entorno con ciertas limitaciones, me percaté rápidamente de que le daba cien patadas a otros entornos, como los orientados a Java. Intenté seguir trabajando al estilo Perl haciendo CGIs, cosa que realmente no es complicada de hacer, pero me di cuenta de que no tenía mucho sentido existiendo ASP.NET. Al sumergirme más profundamente en el sistema, me di cuenta de todas las posibilidades y me dije: a cascarla. Lo sentí por Perl, al cual sigo teniendo mucho aprecio, pero en ASP.NET (hablando de web exclusivamente, se entiende) hago el doble o el triple de trabajo en la mitad de tiempo. Ya no compensaba seguir usando editores de texto. Hay que ganar dinero, hay que vivir, me dije. Y así, lo hice.

Tras la apareción del .NET 2.0 y el Visual Studio 2005, mi sensación de todo lo demás no tiene sentido creció hasta límites insospechados. Ahora sí que es IMPOSIBLE que cualquier otro entorno supere al de Microsoft. Una obra soberbia. Anda que no tiene que comer donuts el Eclipse para llegar a ese nivel. No sé a estas alturas como es del 2008, pero según tengo entendido le debe dar de patadas al 2005, así que con eso lo digo todo.

¿Deslumbrado por las luces de neon? Puede, pero hay una cosa cierta: una mirada, aunque sea ligera, al Framework y los lenguajes (tanto en la versión 2.0 como en las 3.0), da buena cuenta de que los de Redmond no estaban de broma. Tanto por cantidad como por calidad, el Framework es sin lugar a dudas el sistema base de desarrollo más completo (o de los más completos, no quiero dejar de mencionar el CPAN de Perl) para el desarrollo de aplicaciones tanto en Windows como en Web. El control que permite sobre las aplicaciones, la carga y mantenimiento dinámico de clases y aplicaciones, la generación de código en tiempo real, la compilación de código por código (cosa que adoraba hacer en Perl y que también puedo hacer en .NET), entre otras muchas cosas, desde las más triviales a las más útiles, han hecho que me haya enamorado de este entorno.

Y que decir de ASP.NET. Las aplicaciones Windows se desarrollan aún mejor, pero ahora realizar Web con .NET es un orgasmo. Aún tienen que pulir ciertos aspectos, pero os lo digo en serio: hacía tiempo que no me lo pasaba tan bien haciendo un programa web. Y que decir de la integración con Ajax. Para mear y no echar gota. Tanto a nivel superficial como usando las profundidades del sistema, Ajax en ASP.NET es impresionante, totalmente controlable y gestionable. Comentaba con un cliente que hacía poco se leía que la distancia entre Apache e IIS había descendido hasta no más de un 10%, y que en mi opinión eso había sido a causa en general por el uso de ASP.NET. A mi también me sorprendió su rendimiento, pero a lo hecho pecho. Las cosas como son.

A los conjuntos de datos tipados hay que darles de comer aparte. Los "Datasets" se convierten en la capa de datos por autonomasia. Generan un contacto directo con la base de datos (sea esta del tipo que sea) abstrayéndola sin complicaciones, y pudiendo preocuparte sólo de generar la capa de negocio de forma directa. Todo el esfuerzo que tenías que hacer antaño para organizar todo el tinglado desaparece y sólo te tienes que preocupar de "lo que tienes que hacer", no de como.

Y no sigo porque esto se haría demasiado largo. Sólo decir que por supuesto cada uno puede programar en lo que le de la real gana, que duda cabe. Yo sólo digo que si quieres trabajar rindiendo, en menos tiempo y haciendo más, tienes necesariamente que pasarte a .NET. Seguramente más adelante aparezcan mejores entornos y plataformas, pero hoy por hoy el rey es quien es. Hay que darle lo que es suyo. Si eres de los idealistas que no quieren trabajar en una plataforma de Microsoft, pues oye, tu verás. Para una cosa que hacen bien los muchachos, encima no se lo critiques. Pero luego no te quejes, que la oportunidad la has tenido.

No hay comentarios: