2011-12-22 17 views
10

Mi sembra una buona cosa (in termini di tempo di compilazione), che l'interprete Python crei file .tec di bytecode. Credo che python usi una sorta di hash per determinare se la fonte è cambiata e poi ricompila.Perché Perl non si compila in file binari come python

Questa sarebbe una buona idea per Perl? (rispetto ai progetti più grandi con molte dipendenze, ecc.).

+0

Che cos'è il marchio? È qualcosa di Pythonic? – Zaid

+1

@Zaid * Good Thing * è [gergo] (http://catb.org/jargon/html/G/Good-Thing.html) e solitamente sottolineato con un marchio. Geeks. Vai a capire. –

risposta

12

Per una spiegazione abbastanza lunga dei file .pmc, c'è lenghty article on perlmonks, spiegando anche perché nessuno lo utilizza.

+0

Mentre la funzionalità python è integrata sembra (da quello che ho appena letto) che perl pmc è un po 'un ripensamento! – Richard

2

Parrot è un bytecode VM che avrebbe dovuto essere utilizzato entro la prossima versione di Perl, cioè Perl6, ma a quanto pare non di più (grazie a Barney Schmale 's commento)

+0

Perl6 è un altro tipo di Perl, piuttosto che il "prossimo" come nel successore. È una specifica del linguaggio, un po 'come la chiarezza comune è una specifica del linguaggio. – tempire

+0

Sì, ma l'unica implementazione di Perl6 (prototipo, incompleto, alfa) sembra essere basata su Parrot. –

+0

Solo una nota per i lettori nel 2015. Questa affermazione non è più corretta. L'implementazione attualmente più completa di Perl 6 è Rakudo. Rakudo supporta più back-end. Il backend più completo è il Moar VM, seguito dalla JVM. Il supporto dei pappagalli è in ritardo. – BarneySchmale

4

In realtà, c'è un modo per compilare il Perl in bytecode , ma ha alcune limitazioni. Vedi B::Bytecode.

0

Ci sono voluti più per Perl da caricare da binario che da origine.