Il nucleo stesso di Windows è scritto in C++. Le prime versioni erano scritte in C e probabilmente c'è ancora del codice C nel sistema operativo, ma ora è tutto costruito con un compilatore C++. C++ è una scelta popolare per scrivere applicazioni Windows.
C# è un linguaggio che gira in un ambiente di codice gestito, molto simile a Java. Usa il Common Language Runtime (CLR) che fa parte della piattaforma .NET. È il linguaggio più popolare per scrivere applicazioni UWP (Universal Windows Platform), comprese alcune che sono fornite con Windows 10. UWP è ora l'API preferita di Microsoft per le applicazioni Windows, ma ha lo svantaggio di non essere retrocompatibile con le versioni precedenti di Windows. C# può anche essere usato per scrivere applicazioni che usano l'API Win32 e funzionano su versioni precedenti di Windows.
Visual Basic era un linguaggio molto popolare per le applicazioni Windows in passato. L'ultima versione del VB classico, VB6, è stata rilasciata nel 1998; in seguito è stato sostituito da Visual Basic.NET. VB.NET gira nello stesso ambiente di codice gestito di C#. Molti sviluppatori hanno resistito ai cambiamenti di VB.NET e hanno continuato a usare la vecchia versione finché hanno potuto; dopo la transizione VB non ha mai riguadagnato il suo passato livello di popolarità. Un parente del VB classico, Visual Basic for Applications, è il linguaggio macro usato da Microsoft Office.
Java non può essere usato per produrre applicazioni native per Windows. Ma può essere fatto per usare cose che gli assomigliano molto, e le applicazioni Java sono spesso eseguite su Windows.
Molti altri linguaggi sono stati usati per produrre applicazioni Windows. Microsoft offre F#, un linguaggio di programmazione funzionale, per .NET, e precedentemente offriva J#, un linguaggio simile a Java. Turbo Pascal e il suo successore Delphi (il linguaggio è ancora Pascal) sono stati usati da alcuni sviluppatori. Ce ne sono stati altri meno popolari lungo la strada.
Ci sono anche i linguaggi che girano nei loro propri ambienti contenuti piuttosto che produrre applicazioni native per Windows. Python, Perl e Lisp sono esempi.
Dovrei anche menzionare il linguaggio assembly. Dubito che qualcuno abbia prodotto un'applicazione Windows significativa interamente in assembler, ma si potrebbe fare. Molto più comune è l'uso di piccoli pezzi di codice assembly per velocizzare parti chiave di un'applicazione.
Infine, non possiamo ignorare la crescente importanza del browser web come ambiente per l'esecuzione di applicazioni, e il suo linguaggio di programmazione nativo Javascript.