Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Fortemente tipada

No início do vídeo da Aula 3 (Tipagem de variáveis) o instrutor fala que o DART é fortemente tipado, entretanto ele aceita a criação da variável sem a definição de seu tipo. Assim: var nome = "Alura" teria o mesmo efeito que String nome = "Alura". Qual a diferença entre as definições de "fracamente tipado" e "dinamicamente tipado" como ele cita no vídeo?

1 resposta
solução!

Oi Rafael, então... Sua pergunta é bastante pertinente. A maneira """""correta""""" de se programar em Dart é tipando as coisas. Quanto mais tipamos mais performático o nosso código se torna. Como Dart é uma linguagem moderna e tem uma pegada de querer agradar ao público javascript, temos a opção var que o interpretador lê o primeiro valor que entrar nela e tipa. Caso tente atribuir um valor de outro tipo ela dará erro por ter o tipo do valor anteriror atribuído.

Já o tipo de variável dynamic faz o papel de ser uma variável completamente dinâmica que aceita a qualquer momento tipos diferentes. Vale lembrar que o dynamic apesar de permitir flexibilidade é um tipo. Var também é um tipo por baixo dos panos. E assim vai, portanto, dart é fortemente tipada. Mas, esses conceitos realmente abrem brechas para dúvida.

Linguagens fortemente tipadas são linguagens que exigem que, na declaração de variáveis/funções, você já forneça o tipo desta variável/retorno da função.

Em JavaScript, que não é fortemente tipado, você pode simplesmente declarar uma variável assim:

var nome = "Maycon";

Aqui você não disse que a variável nome é uma String, e mesmo assim o código irá executar. Já em Java, que é uma linguagem fortemente tipada, você é obrigado a informar o tipo da variável:

String sobrenome = "Souza" ;

Caso você não identifique que a variável sobrenome é uma String, o código nem irá compilar.

Em ambos os casos você tem benefícios e desvantagens. Quando a linguagem é fortemente tipada, é mais fácil identifcar erros no código, e fica mais legível para outro programador ler. Já quando não é tipada, se você é um programador mais experiente, talvez consiga codificar e produzir mais rápido.

No fundo, é questão de gosto/costume. É possível fazer bons e péssimos códigos em ambos os casos.

Espero ter ajudado. Um forte abraço e bom estudo!