Почему я должен использовать VM, например Parrot, для динамического языка (Python, Perl, ...), если у меня уже есть переводчик?
Во-первых, если выЕсли вы начинаете проект, возможно, у вас еще нет переводчика.
Однако, если у вас есть переводчик и вы думаете, стоит ли добавить к нему функциональность или переписать его, чтобы использовать Parrot, компромисс, который приходит на умявляются:
- В общем, Parrot, вероятно, лучше протестирован, чем рассматриваемый интерпретатор (лучший оптимизатор, лучший сборщик мусора и т. д.)
- В общем, разработчики Parrot знают больше о cross-платформенные проблемы, чем обычные программисты
- В общем, Parrot решил большинство проблем, с которыми вы, вероятно, столкнетесь
- Parrot был разработан с учетом полной общности, и чтодобавил тонну сложности;вам может не потребоваться дополнительная универсальность
Лично для убедительности меня достаточно оптимизатора Parrot (и основанного на регистрах проектирования, в основном для упрощения оптимизации) и хорошо протестированной кроссплатформенной кодовой базы.