Reflexiones de futuro para un programador .NET

Desde al menos 2008, Redmond está llevando con la lengua afuera a todos los “informáticos” que trabajan sobre sus tecnologías con novedades continuas e importantes en los productos de su gigantesco ecosistema.

Especialmente a los desarrolladores. Ya que, no solamente la evolución ha sido constante en las herramientas, sino que aún han sido más vertiginosas en las posibilidades y capacidades de los diferentes lenguajes de programación que se han ido añadiendo a la plataforma .NET.

Pero eso es historia, y hoy quiero hacer una reflexión sobre el futuro laboral más probable para los millones de programadores que estamos haciendo aplicaciones informáticas diariamente en nuestro trabajo, o como hobby.


C# vs el resto de los lenguajes


Aunque nadie lo quiera reconocer, C# es el que corta el bacalao en los lenguajes de .NET. A continuación yo pondría a C++, pero realmente no es .NET y además es un lenguaje para programadores de “pelo en pecho”.

Mi muy querido Visual Basic .NET, el lenguaje original sobre el que aprendí a programar después de mi larga etapa de Pascal, se sigue utilizando. Pero no es el piloto número uno de la escudería. Y tiene toda la pinta que va a seguir en un lento y muy largo declive.

Otra cosa que no se quiere reconocer es que C# es un Java. Eso sí, ya nació mejorado y vitaminado en relación a su padre no biológico. Pero es que con el tiempo se ha convertido en un lenguaje mucho más robusto, flexible y con un ritmo de evolución demoledor. Tecnologías como Linq, NUnit, MSTest, WCF, programación paralela, programación asíncrona y muchas más cosas han dejado muy atrás al antiguo Java, al cual su compra por Oracle no la ha venido nada bien.

En resumen, .NET es una plataforma de programación con un horizonte lejano y, en su última versión 5.0, sigue manteniendo el mismo ritmo incansable de evolución. Aumentando el nivel de productividad que le hace ser muy rentable para ser utilizado en desarrollos profesionales.

Pero no solamente de C# vive .NET y, en una política excelente, se ha implementado en la plataforma más de 50 lenguajes de programación diferentes. Y entre ellos destacar Pyhton, Ruby, Pascal, PHP, etc.

Visual Studio 2012


Pero en estos tiempos que nos ha tocado vivir, la programación se está convirtiendo en una verdadera ingeniería por su riqueza y complejidad. Ya no vale con escribir líneas numeradas y hacer Goto.

Ahora hay que saber y entender la programación orientada a objetos, el uso adecuado de los interfaces, implementar patrones de programación y arquitectónicos, asimilar conceptos como Inversión de Dependencias y seguir principios como SOLID.

Y, por ello los IDE para trabajar en .NET, se han convertido en herramientas imprescindibles. En mi opinión, ya no son tanto herramientas como parte del propio lenguaje. Me sería, literalmente, imposible ser mínimamente productivo en la construcción de una aplicación Web si no tuviera un Visual Studio en donde desarrollar.

El equipo de Visual Studio es muy consciente de todo ello. Y el que son una de las piedras angulares sobre las cuales la comunidad de desarrolladores .NET pervive. Por eso, y con los recursos que tiene a su disposición, han publicado la versión Preview, ahora RC, de Visual Studio 2012.

El cual no solamente es el IDE más sofisticado y potente que tenemos para desarrollar en cualquiera de las tecnologías Microsoft, si no que es parte integrante de un sistema completo y complejo de gestión del ciclo de vida del software que me permite, desde un solo punto, cubrir las necesidades de todos los puestos y roles relacionados con el desarrollo de un producto informático: diseñador, testeador, programador, BI, DB, arquitecto, gestor, gerente, director, cliente, etc.

Y el presente indica que el futuro sigue el mismo camino. Una nueva versión cada 2 o 3 años, con revisiones y actualizaciones constantes entre estos periodos. Vamos, que no nos vamos a aburrir ni quedarnos anclados en un temible “agujero negro” tecnológico.

Windows 8


Las opiniones sobre el nuevo sistema operativo de Microsoft son múltiples y variadas. Pero todos coinciden en que es una revolución y una apuesta.

Para los desarrolladores y las empresas es como agua de mayo por varias razones.

Podemos seguir construyendo nuestras aplicaciones de escritorio, que cada vez tienen menos volumen, que no importancia. Al igual que podemos seguir construyendo nuestras aplicaciones Web. En esto no cambia prácticamente nada.

Pero se abre un nuevo horizonte al que podremos acceder con nuestros conocimientos actuales: las aplicaciones Metro. Y que además está al alcance para los dos perfiles principales de programadores de .NET: los de escritorio y los de Web. Ya que las aplicaciones para las Tablet Windows 8 (aunque lo corras en tu PC es obvio que es un interfaz pensado para gestos) se pueden realizar en XAML + C# o en HTML5 y WinJS.

Es decir, un mercado nuevo. Al que yo puedo acceder, con suficientes conocimientos de base para empezar a programar de forma inmediata. Y, además, con la ventaja de que he tenido acceso a toneladas de información ANTES de que el producto sea publicado.

Y, como dice bien un compañero, no olvidemos que estamos hablando de un target inicial de 700 millones de dispositivos que ahora mismo tienen Windows. Vamos, vamos, que me froto las manos con el futuro que se ha abierto para los “informáticos” .NET. O sea, para todo el sector.

Incluso va a volver la posibilidad de ir de vaquero solitario por la vida y tener la oportunidad de hacer aplicaciones yo solito e intentar sacarme unas perrillas con ello, o ser el siguiente “Angry Birds”.

Otras plataformas


Pero en .NET, no solo de aplicaciones Web o de escritorio vivimos. Tenemos otras plataformas que no se andan a la zaga en evolución y futuro brillante. Y que son nichos más pequeños pero potentes para los programadores.

Por ejemplo, desarrollo de SharePoint. En la versión 2007 éramos los programadores “apestados”. Como un parche sin mucha relevancia. En el 2010 ya estábamos integrados en el Visual Studio de forma completa, y dejó de ser una mera plataforma a empezar a ser un ecosistema. Con el inminente 2013, los programadores de SharePoint tendrán una productividad y capacidad de desarrollo realmente potente. Integración de Comunicaciones Unificadas, desarrollo en y para la Nube, uso del .NET 4.5, etc.

Otros que están demostrando un potencial tremendo son los desarrolladores en Kinect. Lo que iba a ser solamente un interfaz para juegos de la Xbox, se está utilizando en los proyectos más singulares e insospechados. Con un fuerte componente social en movilidad, superación de minusvalías, educaciones especiales, telepresencia, virtualidad, etc.

Y eso que aún está muy verde todo el tema de la interacción por lenguaje hablado (como un Siri, pero más bestia) que está en pañales y que es un campo más de desarrollo profesional.

También, y siguiendo centrado en el futuro de los programadores en plataforma .NET, la reciente presentación de Windows Phone 8, el sistema operativo para móviles, nos trajo la sorpresa de que va a compartir el core de WinRT con Windows 8. Eso significa que un programador XAML + C#, o C++ va a poder construir, ahora sí, aplicaciones Metro que funcionen casi de forma automática en la Tabletas y en los móviles.

Por último, y que no debemos de olvidar, todo el potencial de la programación en Azure, programación en la Nube. Crear aplicaciones que puedan escalar de forma sencilla y natural. Ajustar los precios a lo que consumimos y poder utilizar una plataforma “infinita” para construir aplicaciones.

Conclusión

Esto tiene buena pinta

Ahora mismo en España la cosa está muy difícil. Viene, al menos, un año de tiempos muy malos ya que toda la economía se está deteniendo en un estruendoso silencio. Y ya no es que no haya proyectos, es que no hay ni tan siquiera clientes.

En cambio, creo que el futuro para los desarrolladores de .NET, que es mi ámbito y de lo que puedo hablar con conocimiento, es brillante.

No solamente porque Microsoft está siendo puntera en la evolución de todo el gigantesco ecosistema que abarcan sus productos, de todos. Si no que se han abierto nuevos mercados y nichos para los programadores, sin que eso implique tener que reconvertirse o desechar los conocimientos que hemos adquirido en esta última década.

Ya tenemos la base y un know-how inicial profundo. Si acaso ajustarnos y aprender las nuevas capacidades de la plataforma.

Con la llegada de Windows 8 y Windows Phone 8, volvemos a un lejano oeste en donde empresas singulares o de un tamaño muy pequeño van a poder competir con las grandes en crear todo un nuevo universo de aplicaciones que van a ser demandadas por los usuarios.

Además, otros ya han abierto el camino con el iPad o las tabletas Android. Ya sabemos qué cosas funcionan, que cosas no funcionan y cuales funcionarían si se hicieran de otra forma.

En resumen, cuando superemos esta crisis de la cual aún falta por llegar la parte más difícil, los desarrolladores .NET tendremos la ventaja de poder elegir de entre muchos caminos posibles. Y eso, es bueno.

Portada de Genbeta