Ethereum currently has eight implementations, each in a different language, some independent of the Foundation. At least the Go (official), C++, Rust, Python, Java, and Javascript clients are full implementations. The Rust version is especially nice; it's the fastest, and produced by an independent company run by one of Ethereum's early developers, who no longer works for the Foundation. (The Haskell implementation has fallen behind, and the Ruby one is pretty new, I'm not sure of its status.)
It's relatively easy to make an independent client because there's an actual spec and a test suite.
It's relatively easy to make an independent client because there's an actual spec and a test suite.