There's two main reasons I can see: performance is impacted by the implementation language and because officially supported SDKs/client libraries are usually written, and get updates, in the implementation's language first e.g. Elasticsearch and Java.