En la pasada conferencia Build (Microsoft), se hizo uno de esos anuncios que sorprenden si consideramos que la empresa de las ventanas solamente parece entender del sistema operativo Windows. Anunciaron que Visual Studio ahora va a soportar el desarrollo de C++ pero para Linux. La pregunta que surge naturalmente es ¿por qué Microsoft haría algo semejante?
Visual Studio ha hecho algunos cambios importantes en los últimos meses. No solamente es un IDE, un entorno de programación para los lenguajes que promueve la empresa. Ahora parece ser que el IDE de VS bien podría estar en otros sistemas operativos además de Windows. Por ejemplo, Android está basado en Linux y esta fue anteriormente la primera introducción para la programación usando Linux y VS en ese sistema operativo. Lo que parece estar haciendo Microsoft es extender VS para crear aplicaciones en Linux y no sólo para Android.
Por el momento hay una dependencia de las herramientas de Android para Visual Studio, por lo que hay que instalar primero estas. Sin embargo, esto podría cambiar. La nueva extensión soporta por el momento una configuración para compilar (build – es decir, compilar todas las rutinas siempre), de forma remota, lo que significa que la máquina Linux, que es el objetivo de la compilación, es la que hace este trabajo, es decir, compila, liga y ejecuta el código. Para que esto pueda suceder VS debe poderse comunicar con la máquina remota usando SSH, lo que implica instalar openssh si es que no está ya instalado. Se necesita también g++, el compilador GNU C++, gdb y gdbobserver, que es el depurador de GNU.
Cuando las extensiones están ya instaladas, entonces hay que ver los «templates», para las aplicaciones de consola, las cuales hay para la Raspberry Pi en lo que es la moda próxima, el IoT. Esto parece ser la causa por la cual Microsoft ha incluido el desarrollo de aplicaciones para Linux en VS. La Pi es ya un dispositivo tan importante para el IoT que poder programar esta máquina es ya una necesidad. Es evidente que muchos programadores tienen que irse a Linux si es que quieren trabajar con el IoT, pues prácticamente la mayoría de las tarjetas de desarrollo soportan alguna versión de Linux
Referencias: