different languages have different applications.
same language can not be used for all purposes.
yet, C has been so powerfull and popular that no language till now is able to actually replace it.
but, in todays world easier, higher level languages (
vb, c#, java, scripting) are preferred over the lower (assembly) or the middle (C) level languages.
most of the higher level languages inherit features and syntax from C
any language that can interact directly with hardware can be used to write OS.
C has best skillset for that. normally you won't any OS written in single language.... for the reason mentioned in 1st sentence.
have a nice time.....