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.