Informática, perguntado por ElenKonno, 10 meses atrás

Qual é a diferença entre uma linguagem fortemente tipada e fracamente tipada ?

Soluções para a tarefa

Respondido por samara1942
9

No caso de uma linguagem fortemente tipada, a principal característica é que cada variável no escopo do programa, representa um tipo bem definido, ou seja explicitamente você será obrigado a declarar o tipo da varíavel ao qual estará declarando.

Alguns exemplos de linguagens fortemente tipadas são: Java, C++, Fortran e Cobol.

Exemplo de código em java:

int x = 12.1; // erro, tipos incompatíveis
int j = (int) 12.1 // funciona, mas você perde as casas decimais

Java é uma linguagem fortemente tipada. Não é possível atribuir um double para um int.

Para executar tal operação, você terá que forçar a tranformação para o tipo definido pela variável. Chamamos isso de cast. Java também é uma linguagem com tipagem estática, ou seja, você precisa declarar qual o tipo de objeto a variável irá referenciar.

Agora a diferença de linguagens fortemente tipadas, mas dinâmicas.

Vejamos um exemplo de código em Ruby:

x = ‘Larissa’ 
y = 12
puts x + y

A principal diferença que podemos notar é a ausência do tipo da variável. Mas isso não torna ruby uma linguagem fracamente tipada. O que acontecerá se você tentar somar (+) um Fixnum (int) com uma String? Um belo erro no console:
can’t convert Fixnum into String (TypeError)

Ou seja, ruby também é fortemente tipada, porém de forma dinâmica. O interpretador “descobre” em tempo de execução o tipo da variável. Devido a essa característica, em ruby não existe cast. Caso os tipos envolvidos na operação sejam incompatíveis, você terá um belo erro pra se preocupar.

Agora as fracamente tipadas, como exemplos: PHP, Javascript.

Veja um exemplo em javascript:

var x = “Larissa”;
var y = 12;
alert(x + y);

JavaScript é fracamente tipada , ou seja, este código será executado sem problemas. Você não precisa informar o tipo da variável e o intepretador do javascript sabe realizar algumas operações sobre os objetos dependendo do contexto.
Perguntas interessantes