When a programming language doesn't solve mass/common problems, its popularity will definitely decrease after initial peak.
Rails solve common problems for the most popular platform: web.
Go is created to replace C, a system programming language which could be considered as a niche. You see popular Go projects specifically addressing system level stuff (infrastructure: packer.io, docker, etc).
> Go is created to replace C, a system programming language which could be considered as a niche. You see popular Go projects specifically addressing system level stuff (infrastructure: packer.io, docker, etc).
I'd go a bit further. Go was written to replace C++ when used for servers at google and it excels in that spot. It is not meant to replace C for kernels.
Not sure why C is on top of the list but having said that, I see more Rails/Java/C#/Python/PHP (or in general, web-app dev) jobs out there than a Linux kernel hackers :).
Go was created to do the systems programming tasks people used C++ for. But what has resulted is that very few C++ users have switched to Go. It's mostly been Ruby/Python programmers and they are using Go for network programming, not systems programming. It's just another bit of proof that language designers, no matter how brilliant they are, such as Ken Thompson and Rob Pike, almost never know who is going to adopt their language and what it will be used for.
Systems programming is further down the layers of abstraction than Web Development is. As you go deeper and deeper down these layers there are fewer and fewer people solving the problems that the layers above depend on.
This is the first Go article I've seen on the front page in a while...