I am a novice programmer who mainly uses Java. Recently I have become interested in Ruby, and when I went to download an IDE, I was surprised to find that there is no single implementation or interpreter of the language. I've been trying to research the issue, but I don't really understand how a language is created well enough to know what to look for.
How is it possible for a single language to have multiple interpreters? Does this mean that there are important differences between them, and what does that mean for the programmer? Please excuse me if this is a misguided question in the first place!