1
resposta

se não é compilada, todos conseguem ver o código fonte? como podemos ter a garantia que não vão muda-lo?

insira seu código aqui
1 resposta

Olá Davisson, Uma linguagem ser interpretada não significa que todos irão visualizar o seu código, isso depende muito da forma como a aplicação programada nela é disponibilizada.

Um exemplo são aplicações web, é possível escrever aplicações web com várias linguagens interpretadas, como Ruby, Python, PHP e Javascript por exemplo, contudo elas rodam no servidor, os clientes não tem acesso ao código fonte delas, porque sempre que uma requisição é iniciada elas são executadas e apenas o valor de retorno é devolvido.

No caso de scripts para rodar nos computadores dos clientes o que você pode fazer para dificultar alterações significativas é aplicar técnicas de ofuscação, onde o código é transformado de forma a ficar ilegível para um ser humano, mas mantendo sua funcionalidade, um exemplo de ferramenta que faz isso para python é https://liftoff.github.io/pyminifier/.

Outra opção para distribuição é compilar o seu script python com um interpretador, neste caso transformando seu arquivo .py em um exe por exemplo (no caso do windows). Embora python não seja compilado e sim interpretado esta técnica consiste em montar um arquivo binário com o seu script python, um interpretador python para executar o script e arquivos de suporte para que o interpretador rode no sistema operacional, isso permite que o código não seja aberto, lido ou modificado (pelo menos não facilmente (Vide hexeditors) ).

Você pode fazer este tipo de compilação com bibliotecas ou aplicativos como por exemplo http://www.py2exe.org/.

Ainda há alguns frameworks para criação de programas que usam python e geram executáveis que também fazem isso, como o QT.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software