2011-12-22 4 views
10

Это поражает меня как хорошую вещь (то есть с точки зрения времени компиляции), что интерпретатор Python создаст файлы байт-кода .pyc. Я считаю, что python использует какой-то хэш, чтобы определить, изменился ли исходный код и затем перекомпилировать.Почему Perl не компилируется в двоичные файлы, такие как python.

Будет ли это хорошей идеей для Perl? (в отношении более крупных проектов со многими зависимостями и т. д.).

+0

Что такое торговая марка? Это что-то питоническое? – Zaid

+1

@ Zaid * Good Thing * [жаргон] (http://catb.org/jargon/html/G/Good-Thing.html) и обычно подчеркивается товарным знаком. Geeks. Идите фигуру. –

ответ

12

За довольно длинное объяснение .pmc файлов, есть lenghty article on perlmonks, также объясняя, почему никто его не использует.

+0

В то время как функциональность python встроена в нее, она выглядит (из того, что я только что прочитал), что perl pmc немного запоздало! – Richard

2

Parrot является байткод VM, которая должна была быть использована следующей версии Perl, т.е. Perl6, но, видимо, не больше (благодаря Barney Schmale «s комментарий)

+0

Perl6 - это еще один тип Perl, а не «следующий», как в преемнике. Это языковая спецификация, так же как и общий lisp - спецификация языка. – tempire

+0

Да, но единственная (прототип, неполная, альфа-сцена) реализация Perl6, похоже, основана на Parrot. –

+0

Просто записка для читателей в 2015 году. Это утверждение больше не является правильным. В настоящее время наиболее полная реализация Perl 6 - Rakudo. Rakudo поддерживает несколько бэкэндов. Наиболее полным бэкэндом является VM Moar, а затем JVM. Поддержка попугая отстает. – BarneySchmale

4

На самом деле, есть способ собрать Perl в байткод , но он имеет некоторые ограничения. См. B::Bytecode.

0

Прошлое осталось для Perl для загрузки из двоичного кода, чем из источника.

Смежные вопросы