Por que linguagens script são lentas?

Papinho nerd. Por que linguagens script são lentas? Porque são interpretadas. Ou seja, as instruções do texto são lidas e executadas uma por uma. Mas elas não precisam ser interpretadas, podem, mesmo sendo linguagens interativas, ser compiladas, isto é, as instruções são lidas, é montado um código de máquina e em seguida ele é executado.

Presumamos uma interface por linha de caracteres (CLI). O compilador lê a linha de entrada até um ENTER. Procura por comandos na linha (tokens). Acha o ponto de entrada do código de máquina de cada token, numa lista de tokens, e monta uma lista de CALLs para as rotinas de máquina. Quando chega no final da linha de entrada, monta um RETURN e dá um JUMP para o início da lista de CALLS (na verdade, verdadeiro código de máquina):

INICIO:
 CALL comando_1
 CALL comando_2
 CALL comando_3
 RET

Os comandos compilados rodam em velocidade de máquina, e quando é encontrado o RET, o compilador volta para a linha de entrada para ler mais comandos. Pronto. Assim eram o GraForth e o TransForth do Apple ][, as mais bonitas peças de software que eu já vi, criação da cabeça genial do matemático Paul Lutus. Mas o modelo lógico é Forth, criação da cabeça genial de Chuck Moore. E que agora, graças ao projeto OLPC, se tornará uma das linguagens mais usadas no mundo: ela é o BIOS e bootloader do laptop XO.

About José Antonio Meira da Rocha

Jornalista, professor das áreas de Editoração e de Mídias Digitais na Universidade Federal de Santa Maria, campus cidade de Frederico Westphalen, Rio Grande do Sul, Brasil. Doutor em Design pelo Programa de Pós-Graduação em Design (PGDesign)/Universidade Federal do Rio Grande do Sul (UFRGS), Porto Alegre, Brasil, 2023. Mestre em Mídias pela UNISINOS, São Leopoldo, RS, Brasil, 2003. Especialista em Informática na Educação, Unisinos, 1976.