Perl 6 požaduje více funkcí VM než např. Python. Navíc v době vzniku Parrotu se s JVM a .NET pro dynamické jazyky nepočítalo. JVM navíc nebyl Open Source a .NET nepodporuje dostatečný počet hw/sw ani dnes.
.NET resp. CLR a JVM jsou primárně pro statické jazyky. Moc o nich nevím, ale řekl bych, že budou mít problémy s dynamic method dispatch, first class functions, first-class continuations, parametry (poziční, pojmenované, nepovinné), ... Parrot je pro dynamické jazyky. Výsledkem je, že nemusíte nic dodělávat, ale máte rychlou nativní podporu přímo ve VM. Kromě toho VM není vše. Potřebujete mít spoustu dalších nástrojů, knihoven, mod_parrot pro Apache, atd. Nízkoúrovňový bytekód je málo, tím vývojáře kompilátorů nepřilákáte.
Samozřejmě dnes již je nebo možná brzy bude možné být dynamický i v JVM a .NET, viz. Da Vinci Machine Project (JSR 292) a DLR.
Další výhodou, která je teoreticky možná v Parrotu je spolupráce jazyků na opravdu nízké úrovni. JVM a DLR to dělají dost odlišně než Parrot. Časem uvidíme. Já si hodně slibuju i od toho že Parrot není stack based, ale register based. Tam kde není možné použít JIT je to slušná výhoda, ale těch případů už je málo. Měla by to být výhoda i pro JIT, ale raději si počkám než vařit z vody.
man ksh:
cd old new
The second form of cd substitutes the string new for the string old in the current directory name, PWD, and tries to change to this new directory.