Plataformas de Execulção
Plataformas Interpretadas
As plataformas interpretadas possuem a característica de depender somente de um interpretador e do código-fonte a ser executado. Sendo assim, nenhum artefato é construído a partir do código-fonte, sendo esse lido e processado diretamente pela máquina virtual da plataforma escolhida.
Você pode já ter visto algum os seguintes comandos:
node main.js
python main.py
ruby main.rb
php -f index.php
É caso de linguagens como PHP, JavaScript, Ruby, Python, dentre várias outras.
O que estamos fazendo com os comandos anteriores é utilizar um outro programa que roda sobre o sistema operacional nativo, sendo responsável por lidar com a correta execução dos códigos fornecidos.
Shebang
Os sistemas operacionais baseados em Unix suportam uma estratégia chamada shebang. Com ela, é possível "chamar" o arquivo de código-fonte diretamente na linha de comando, sem precisar indicar o comando do interpretador diretamente:
./main.js
Como fazer
Para isso funcionar, duas coisas são necessárias:
1 - A primeira linha deve iniciar com #!
. Logo em seguida, deve ser informado o binário que irá processar o restante do arquivo.
#!/usr/bin/env node
console.log("Hello, world!");
2 - O arquivo deve possuir a permissão de execução.
chmod +x ./main.js
Assim, é possível executar ./nome-do-arquivo
diretamente pela linha de comando.
Plataformas Compiladas
Algumas plataformas de programação necessitam de uma etapa a qual o código-fonte escrito pelos desenvolvedores seja transformado para um artefato que a máquina entenda e possa executar.
Quando um projeto é buildado, apenas o necessário é incluído, e coisas como ferramentas de inspeção e recarregamento instantâneo (hot reload) são quase sempre removidas.
Dessa forma, o artefato final fica muito mais leve e requer menos recursos do que quando executado em um Ambiente de Desenvolvimento.