Parrot started in 2001, and there was at least one P6 implementation in the works shortly after:
https://github.com/parrot/parrot/commit/9bb281bf85088000ee40...
The Parrot backend was used to nail down the object system.
That's not how I remember things. Jonathan may have implemented the current object system on Parrot, but then he prototyped one on the CLR and one on the JVM (or vice versa), then wrote one for Rakudo based on that.
Concurrently, they are developing their own VM to get rid of the semantic mismatch between the language runtime and backend VM.
That's a very charitable interpretation of what they're doing.
But if we believe in the Osborne effect, then already from 2000 the announcement of Perl 6 started to eat momentum from Perl 5.
I was fully expecting to sit down at a machine and type "perl6" instead of "perl" to invoke early versions of the language. I was even willing to deal with semantics changes in the language for a while till that settled down.
But 5 years is a long time to wait before implementation even started and 13 years is even worse and still not really be able to sit down at a terminal and "perl6 -v".
Wait, that's not entirely true
Betty:~ lelf$ perl6 -v
This is perl6 version 2013.06-200-gee08521 built on parrot 5.5.0 revision RELEASE_5_5_0
It's not quite as dramatic as it sounds:
Yes, Perl6 was announced in 2000, but the actual implementation effort (both Parrot and Pugs) started in 2005.
Guess what got started a year later (2006) and isn't finished yet as well? Rust.
Is it finally time to sit down and learn Perl 6?
Learn it? Certainly. Use it in production? Not yet. The Parrot backend was used to nail down the object system. Supposedly, the mostly-working JVM backend will be used to nail down threading semantics.
Concurrently, they are developing their own VM to get rid of the semantic mismatch between the language runtime and backend VM.