Well, Longhorn is a continuation of the existing Windows XP/2003 codebase.
The kernel-mode bits of Windows are mostly written in C. There is a little bit of x86 assembly language for some platform-specific things.
The user-mode things are mostly C with a bit of C++ here and there.
Longhorn is adding some managed code to the system. Presumably, this will be written in C#.
Regarding MS-DOS: From my understanding, it was written almost exclusively in x86 assembly language.