[Rio-pm] Perl é genuinamente uma linguagem de script ou híbrida?

Randal L. Schwartz merlyn em stonehenge.com
Sexta Fevereiro 17 13:39:46 PST 2012


>>>>> "Cleysinho" == Cleysinho  <cleysinhonv at gmail.com> writes:

Cleysinho> Olá, desculpe as poucas informações. Geralmente linguagens
Cleysinho> rotuladas como de "script" fazem referência a linguagens
Cleysinho> interpretadas, teste caso eu entendo que são linguagens que
Cleysinho> não geram bit code ou compiladas em tempo real, como exemplo
Cleysinho> php. Outras linguagens com C por exemplo compilam uma única
Cleysinho> vez uma código e gera um arquivo binário com todas as
Cleysinho> instruções do programa.

Cleysinho> Entendo que se o Perl é uma linguagem capaz de interpretar os
Cleysinho> códigos, ele se define como uma linguagem interpretada e se
Cleysinho> ao mesmo tempo gerar um bit code ou um único arquivo com as
Cleysinho> instruções a linguagem pode ser definida como híbrida. Porém
Cleysinho> não sei se a linguagem é capaz de fazer as duas coisas ao
Cleysinho> mesmo tempo e não encontrei nenhum livro que falasse isso,
Cleysinho> apenas um velho amigo que trabalha com computação desde a
Cleysinho> década de 60 e usou Perl no inicio da década de 90 que me deu
Cleysinho> esta dicas.

Your problem here is a "false dichotomy", caused by not having enough
different buckets to categorize everything.

Perl does precisely what it does.  Each time you start a Perl program,
the source code is parsed entirely into an opcode tree ("compile" phase)
and then the opcode tree is consulted for execution ("run" phase).

Any attempt to say that this solution is "better" or "worse" because
it's "similar" to C-style or Java-style systems is flawed from the
beginning.

I find it fits a nice sweet spot... I can write "1 + 1" in a loop that
runs a thousand times knowing that the compiler will simply put "2" as a
constant there during the compile-phase optimization.  And I can also
edit a file, and restart the program, without going through some complex
build process.  Best of both worlds.

-- 
Randal L. Schwartz - Stonehenge Consulting Services, Inc. - +1 503 777 0095
<merlyn at stonehenge.com> <URL:http://www.stonehenge.com/merlyn/>
Smalltalk/Perl/Unix consulting, Technical writing, Comedy, etc. etc.
See http://methodsandmessages.posterous.com/ for Smalltalk discussion


Mais detalhes sobre a lista de discussão Rio-pm