segunda-feira, 20 de outubro de 2008

Linguagem tipada ou não-tipada

O amigo Luís Mizutani enviou comentário com uma dúvida para o antigo endereço do blog, e transcrevo aqui:
Tenho algumas dúvidas básica:
Existe alguma vantagem ou desvantagem da liguagem tipada sobre a não tipada?
Em que casos pode ser obervado algum ganho de uma em relação à outra?
Neste caso poderíamos imaginar que as variáveis se comportariam como variáveis do tipo String?

Grato por prestigiar o blog, Mizutani. Vamos a resposta:

Linguagens tipadas necessitam que você obrigatoriamente informe o tipo de valor que a variável receberá. Isso garante que, se originalmente você quer um valor inteiro, não receberá uma String. 
Linguagens não-tipadas não possuem essa obrigatoriedade, tendo um tipo geral (como var em javascript) que recebe qualquer tipo.
Enquanto a primeira garante um pouco mais de segurança no que se refere ao trânsito de dados entre variáveis(se você tentar atribuir um String para uma variável que espera um inteiro, ela não aceita e seu código não roda), a segunda aceitaria qualquer tipo em qualquer variável, oque minimiza a necessidade de ter que transformar dados de um tipo para outro quando trabalhar copm banco de dados por exemplo. Mas ambos pagam um preço por essas características. 

Linguagens tipadas tendem a ter mais código para suas aplicações e sua curva de aprendizado pode ser maior. 
Linguagens não-tipadas são mais simples em sua implementação, mas caso atribua algo errado, seu código pode fazer algo que você não esperava e será mais difícil encontrar o erro.

2 comentários:

Luis Fernando Mizutani disse...

Se entendi bem podemos resumir desta forma as vantagens.

Tipadas: maior confiabilidade e facilidade na detecção de erros

Não-Tipadas: maior flexibilidade (agilidade) e facilidade no aprendizado.

Pai Tavinho disse...

Exatamente, Luís. Resumiu perfeitamente.