Most OSes and systems programming in general is mostly done in C (and C++?).
The language has some clear flaws from what I understand but there aren't really any alternatives are there?
Why is C so fast? Because people make it fast or because it is easy to write fast compilers for it?
Why aren't other languages used for writing OSes? They just don't have the speed?
JAVA is used a lot for server-programming right? But doesn't cut it speedwise for OSes?
As we move to the cloud and the OS becomes less important will C disappear as new systems replace the old ones?
But you will still need some small basic OS right? So will people program in C in 10 years or will compilers have gotten so smart will be writing that in Haskell, Python or JAVA?
Why hasn't anyone created a better systemprogramming langauge?
Python won't be used as a systems programming language because it's relatively slow compared to most compiled languages (though many parts of its library are compiled C) due to two major strikes against it: It's interpreted (albeit with some bytecode caching), and it doesn't (yet) have a clear way to declare/infer types for optimization, so a lot of cycles get burned double-checking data types. In practice, it's usually fast enough for most purposes -- its design focused on speed of development over than execution, which is a good tradeoff overall, but works against it for systems programming (except prototyping).