¿Cuál es el mejor lenguaje para escribir programas para Windows?

El núcleo de Windows está escrito en C++. Las primeras versiones estaban escritas en C y probablemente aún quede algo de código C en el sistema operativo, pero ahora todo está construido con un compilador de C++. C++ es una opción popular para escribir aplicaciones de Windows.

C# es un lenguaje que se ejecuta en un entorno de código administrado, muy parecido a Java. Utiliza el Common Language Runtime (CLR) que forma parte de la plataforma .NET. Es el lenguaje más popular para escribir aplicaciones UWP (Universal Windows Platform), incluyendo algunas que se suministran con Windows 10. UWP es ahora la API preferida por Microsoft para las aplicaciones de Windows, pero tiene la desventaja de no ser compatible con versiones anteriores de Windows. C# también se puede utilizar para escribir aplicaciones que utilizan la API Win32 y se ejecutarán en versiones anteriores de Windows.

Visual Basic fue un lenguaje muy popular para las aplicaciones de Windows en un tiempo. La última versión del VB clásico, VB6, se publicó en 1998; después fue sustituido por Visual Basic.NET. VB.NET se ejecuta en el mismo entorno de código gestionado que C#. Muchos desarrolladores se resistieron a los cambios de VB.NET y siguieron utilizando la versión antigua mientras pudieron; desde la transición, VB nunca ha recuperado su nivel de popularidad pasado. Un pariente del VB clásico, Visual Basic for Applications, es el lenguaje de macros utilizado por Microsoft Office.

Java no puede utilizarse para producir aplicaciones nativas de Windows. Pero se puede hacer que utilice cosas que se parecen mucho a ellas, y las aplicaciones Java se ejecutan con frecuencia en Windows.

Se han utilizado muchos otros lenguajes para producir aplicaciones de Windows. Microsoft ofrece F#, un lenguaje de programación funcional, para .NET, y anteriormente ofrecía J#, un lenguaje similar a Java. Turbo Pascal y su sucesor Delphi (el lenguaje sigue siendo Pascal) han sido utilizados por algunos desarrolladores. Ha habido otros menos populares por el camino.

También están los lenguajes que se ejecutan en sus propios entornos contenidos en lugar de producir aplicaciones nativas de Windows. Python, Perl y Lisp son ejemplos.

También debería mencionar el lenguaje ensamblador. Dudo que alguien haya producido una aplicación significativa para Windows completamente en ensamblador, pero podría hacerse. Mucho más común es utilizar pequeños trozos de código ensamblador para acelerar partes clave de una aplicación.

Por último, no podemos ignorar la creciente importancia del navegador web como entorno para ejecutar aplicaciones, y su lenguaje de programación nativo Javascript.