Ядра в основном на C и языке ассемблера. Остальное (в особенности графические интерфейсы) на C++ (Linux, Windows) или Objective-C (Mac OS). Ну и оставшиеся крохи на чем удобнее программисту: Python, Perl, Java, Bash, Lisp, Haskell и т.д.