Názor k článku Softwarová sklizeň (25. 3. 2009) od anonym - Perl 6 požaduje více funkcí VM než např....

  • Článek je starý, nové názory již nelze přidávat.
  • 25. 3. 2009 10:40

    bez přezdívky

    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.