C is probably the most firmly entrenched programming language that ever existed, and it's not going away in the near future. One big factor here is the fact that all major operating systems are written in (and have core libraries to support) C. I think in order to "replace C", you'd have to develop an OS in the other language, and that OS would have to gain widespread adoption.
While I disagree with the premise that an OS must be written with a non-C language and then become popular for that language to replace C, I absolutely think writing an OS is a litmus test for any language.
It's entirely possible for another language, any language, to become more popular than C even if the OS hosting that language's runtime is itself written in C. Hell, according to some sources [1], Java's already there.
However, for a language to replace C, to truly uproot C, I absolutely agree it must be fast and flexible enough for one to write an OS that is comparable or superior to peer OSs written in C. As I've heard from some sources, C# and the .NET runtime may excellent examples of an environment that fell short – Longhorn reputedly was attempted in C# and MS had to fall back to C for performance and reliability reasons. [Edit: My info on Longhorn's bad, per neilc, below.]
Not exactly an OS, but to replace C the language will have to become the lingua franca for performance(read speed) critical applications. C has wide adoption not just in writing Operating systems but in other equally challenging areas of CS namely databases and compilers.
Modern day applications like webservers, middle ware layers and caching applications are all written in C(or at maximum C++). Not to mention, C syntax is almost every where. So there are many trained programmers already here.
If go needs serious adoption Google will have to do the following things. Develop killer apps in Go, give the world few things written in Go the world just can't live without. Write real cool tutorials/documentation/recipes and manuals for Go. Take it to enterprise have you people talk in every other conference on the Globe, convince universities to teach it. Make sure the day to day programmers has all the right tooling, support and batteries to use Go everyday.
Sun did a lot of this stuff to promote Java. I think there is a lot to learn from that.
Not exactly an OS, but to replace C the language will have to become the lingua franca for performance(read speed) critical applications. C has wide adoption not just in writing Operating systems but in other equally challenging areas of CS namely databases and compilers.
I do not think that performance is the main reason to choose C for writing a compiler -- I'd rather say it is because of the ubiquity of C compilers on all the platforms.
> Google is likely capable of creating its own operating system
I don't think they are capable of such mistake ;-)
There are plenty of free more-than-good-enough OSs to build upon. Unless Google needs something more revolutionary than Plan-9, they don't need to create another OS.
The only reason I would find sane to develop an entirely new OS would be to use all these new shiny toys we got in specialized processors inside our computers. It would be awesome to have a machine with lots (hundreds?) of cores of varying capabilities that could be powered up or down according to load, with processes being transparently migrated between binary-compatible ones or between similar virtual machines hosted on diverse cores.
It's been a while since I have seen a cool new research OS.
In a sense, I agree, but I guess I'm applying Apple business practices to Google in my mind. If they create their own operating system, in their own language, they have essentially gained a large amount of control. Given that Google is the most popular search engine and many people want to use Google products, it wouldn't be too hard to gain the majority foothold. Google is even making a Chrome notebook!
Apple was failing. It had an ancient and crufty OS and needed to find a new OS outside the company because it failed to develop one internally at least twice. They could go with BeOS, NeXT or MkLinux (I run MkLinux on one Mac in my collection). NeXT came with Steve Jobs bundled for free.
At that time, Apple leveraged its bets making Java development a first-class citizen. It was not clear whether Objective-C would gain any foothold because it failed to get traction during its NeXT years.
No doubt there are many organizations capable of building an operating system, and a few with enough influence to cause widespread adoption. Indeed, Google is a great example, as they are responsible for more than one OS: Android and Chrome OS. Both of which are Linux-based, and therefore C-based OS's.
I don't think it will make sense to re write a Unix-like operating system in Go again! or other one.
Google can release something else, like high performance webservers, databases or other web infrastructure. They are in as much demand as probably an operating system. And they make good applications for a killer app.