As far as I understand, bitcoind is a C implementation of the bitcoin protocol.
How come we don't see this protocol implemented in other programming languages?
Is it because C has some advantages in this case?
Or is because the C implementation is already exists and ready to be copy pasted?
There are nextgen projects written in languages other than C.
Your last point is the reason, it's ready to be easily copy pasted and modified indeed. On top of that it's a protocol proven to work. It's hard to start from scratch, but it is easy to fork the Bitcoin protocol and go ahead from there.