As Go seems able to performance match C and with Google obviously biased towards Go, I feel that it would be great way for Go to gain more traction.The way ChromiumOS/Chrome has jumped from an Ubuntu base to a Gentoo base, while they have the ability to avoid both and create exactly what they need from scratch, leads me to believe it could be something in the works.Time would of course be a factor, as would the lack of existing libraries as compared to C and Linux, but done in parallel whilst the current Linux based machines gain traction would mitigate any time to market issues for them.I'm a rank amateur when it comes to low-level programming though, are there any technical limitations in the language to prevent this from happening?
Could ChromiumOS be re-written in Go from the ground up?
c;linux;go
Could it? Almost, though not quite. There are still a few things very deep in the boot process where pretty much nothing but assembly language will do (the problem isn't so much speed as having ultra-low-level access). Go doesn't have any implementations that integrate cleanly with assembly, so you'd have to write those parts in a language that integrates with both assembly and Go. But you could use Go for the rest of the system.Still, just because it could be done, should it? Probably not. Sometimes there are compelling reasons for ground-up rewrites, but doing it just to use a different language is generally not a good idea. You lose a robust and well-tested code base, and if you're just trying to port the code straight across, you don't gain anything in the exchange. If you're trying to go idiomatic, or do things that the new language makes easier, then you're generally better off designing something completely new.