e contextualizando tipagem com também conhecido como sistemas de tipos é uma forma para se classificar os tipos de linguagem de programação mas está longe de ser uma unanimidade e esse tema o mais que possa parecer simples ainda geram muitas discussões nas comunidades de desenvolvimento por isso que estamos aqui até fazer uma voz para tentar clarear vossas mentes incluindo as nossas afinal de contas O que é tipagem dinâmica e estática forte ou fraca que tanto ouvimos falar por aí quando estamos aprendendo a linguagem de programação acaba aprendendo em como a tipagem dessa linguagem foi definida e
isso influencia em muitas coisas Incluindo aí a performance EA produtividade você sabia então vamos juntos nessa finalmente é agora que vamos desvendar essa coisa de tipagem não se preocupe que vai ter código é né Fiz estamos aqui em mais um vídeo para desvendar um dos mistérios do universo da programação os sistemas de tipos das linguagens é algo simples e ao mesmo tempo nebuloso muitos acham que sabem muito sobre o tema e outros tem certeza que não sabe o quanto deveriam o que importa mesmo agora vocês em inscrever aqui no canal ativando o Sininho e acompanhar
essa série do dicionário do programador onde a cada semana trazemos um tendo uma tecnologia uma apenas uma simples palavrinha desse mundo maravilhoso que é a programação É bom lembrar que esse vídeo é uma parceria do código-fonte você ver com a host gator sem esse apoio deles seria praticamente impossível conseguimos semanalmente produzir tantos vídeo para vocês vende grande parceiros existem soluções muito bons de roxa que cada no seu bolso e do tamanho dos seus projetos nós aqui costumamos usar o VPS E também o dedicado deles vale muito a pena ainda mais se ver com desconto não
é mesmo clicando no nosso Li eu quero vídeo você garante um Descontão na contratação dos VTS dele Aproveite que o armazenamento usa SSD isso garante muita performance para os seus projetos o melhor então para começar com a definição bem rapidinho de tipagem estática e tem como principal característica da verificação dos tipos usados em dados e variáveis justamente para garantir que o tipo esperado está sendo utilizado no código essa verificação é feita em tempo de compilação ou seja durante o processo de compilação isso garante uma certa segurança e deixa os programadores menos preocupados se algum problema
de tipo pode acontecer durante a execução o que acontece é nessas linguagens é que elas são mais restritivos no processo de decodificação e possuem mais regras que não podem ser quebrados só com isso é possível descobrir o erros antes além de outras características exatamente o código acaba ficando maior porém mais legível Pois é preciso declarar os tipos essa tipagem ajuda na performance na semântica e na manutenção pois escrever testes para tipagem estática acaba sendo mais simples algumas linguagens Como se fazem estáticas são sei se é mai eu já você é Sharp apesar do tipo dynamic
e o gol host countries with Swift quer um exemplo nesse exemplo em ser chato eu declarei uma variável para aí e das da Vanessa mas atribui a ela uma stringhi o compilador na hora da compilação já reclama de cara opa não dá para converter o tipo string para inteiro veja que ele nem reclamou em nenhum momento que a idade estava certa ou não ele ainda não tem como verificar isso né Gabriel em algumas linguagens Ainda temos o recurso de inferência de tipo ou seja mesmo sendo estáticas elas podem inferir o tipo de acordo com o
primeiro valor recebido aí uma vez definido o tipo ele não muda mais exemplo eu declarei a variável idade Vanessa sem definir um tipo mas atribuir um valor alto o suficiente para ser um inteiro na linha seguinte Tentei me redimir usando a mesma variável mas como uma string e não deu certo né o compilador já tinha ido aí e como Inter e não ser Sharp não dá para mudar ela depois para atribuir de forma correta o valor ao seu tipo é preciso fazer isso agora o controlador fez a secagem de tipos adicionei também um tipo long
lá no limite dele os dias em que o Gabriel aqui vai ter que ficar no sofá viu agora Chegamos na tipagem dinâmica para os programadores as linguagens que usam Esse sistema de tipagem não merecem respeito olha não vamos opinar sobre isso nesse momento vamos deixar para um outro vídeo não importa é que quando falamos de tipagem dinâmica estamos falando que o tipo não necessariamente precisa ser declarado e ele pode ser inferido justamente no momento que um valor é atribuído Mas então você vai me perguntar ué isso não é exatamente o que mostramos um exemplo de
ser chato declarando uma variável Como vá sem definir o tipo é gente é sim viu você é chato é uma linguagem que pode ser considerado da estática e também dinâmica ao mesmo tempo é meu louco pensar nisso mas é possível mas para não confundir ninguém Vamos então e para os nossos eventos para o pai Tom Desse exemplo definimos 2 variáveis deixamos o comprador inferir o tipo ah primeira receber o valor inteiro é a segunda tentou somar a idade Vanessa como stringhi um óbvio que deu erro né já que mesmo enfrentando os tipos um pai tão
não deixa fazer as operação porque ela também é uma linguagem de tipagem forte ou seja ela não permite esse tipo de conversão automaticamente sem a intervenção do programador então pra funcionar ficaria desse jeito foi necessário forçar um teste nós Trend um usando a função int dessa forma ela consegue realizar a operação é exatamente mas calma que a gente ainda vai explicar melhor aí essa coisa de tipagem forte ou fraco a coisa toda que define a tipagem do pai de um como dinâmica é que mesmo inferindo o tipo na primeira vez ela continue ferindo a partir
de outras atribuições essa idade do Gabriel está em absurdamente errada ela mostra como um pai tão consegue continuarem ferindo é a mesma variável durante a execução do programa acho que deu para ilustrar um pouco dessa maluquice toda que a tipagem dinâmica algumas das linguagens que adotam Esse sistema de tipos é o Java Script o próprio Python Ruby PHP Príncipe foi lá que serve entre muitos outros agora chegou a vez de entender a tal da tipagem forte ou fraca que é comum ver por aí sendo chamada de fortemente paga ou fracamente de fada como a gente
diz que a linguagem é fortemente de paga a gente quer dizer que uma vez que um tipo é definido necessário que o programador faça o trabalho de conversão para outro tipo caso seja necessário geralmente um mesmo dado não pode ser tratado como se fosse outro tipo de dado é muito comum vermos as linguagens estáticas também terem tipagem forte mas é óbvio que existem exceções nesse exemplo só tentar me redimir criei uma função chamada cálculo juventude que recebe o inteiro que a idade e retorna a multiplicação de fator de Ju O que é um dano nesse
caso eu calculei na função nem a juventude da Vanessa ou seja mesmo que ela já tem a 40 anos ela teve equivalente a juventude de quem tem 16 eu tenho 39 me segurarem isso até massa de duas vezes um Com certeza Gabriel não faz Ok eu vou deixar passar essa daí né mas o que vocês viram aqui tirando a brincadeira foi o cálculo sendo executado usando o tipos diferentes e isso é permitido em alguns casos mesmo que a linguagem tem uma te faz um forte isso não funcionaria se fosse um Bambu x uma stringhi por
exemplo podem fraca é quando o tipo não está bem definido e a linguagem pode alterar o seu tipo sem a intervenção Direta do programador exemplo mais clássico que temos É isso aí com Java script criamos duas variáveis como o meu nascimento e o do Gabriel e gente agora é de verdade viu Tá certo no caso do meu ano de nascimento coloquei ele como uma stranger e mandei mostrar o console Qual a diferença da idade que eu tenho com relação o Gabriel mesmo ser é diferente os jogos que faz essa loucura de converter os dados e
o retorno dessa operação é um pode acreditar não cena O Sabes que a gente só uma dessas linguagens como tipagem fraca para esse tipo de característica cada linguagem pode adotar um conjunto de regras então não espere esse comportamento que mostramos em todas as linguagens com tipagem fraca não custa lembrar que a tipagem dinâmica ou estática não necessariamente tem relação com linguagens dinâmicas ou estáticas por exemplo e linguagens dinâmicas algumas operações podem ser feitas durante a execução Como mudar o tipo de uma variável adicionar novas propriedades ou métodos em tempo de execução os jovens críticos permite
isso por exemplo sua vez nas linguagens estáticas essas mudanças não são permitidas ou seja tudo precisa estar bem definido em tempo de compilação por isso algumas classificam as linguagens estáticas como mais seguras pois tiram o poder do deve de fazer caquinha no código chegou a hora é aquele resumão desse tema para você consolidar seu conhecimento a tipagem estática é quando deve estar explícito o tipo de uma variável e não pode ser alterado não é pra gente dinâmica a tipagem pode ser inferida pela própria linguagem em alguns casos nem a declaração das variáveis é obrigatória como
não pega bem por exemplo uma característica além de estática e dinâmica que a tipagem forte ou fraca para tipagem forte as condições de variáveis de tipos diferentes não são feitas automaticamente em alguns casos nem podem ser feitos na tipagem fraca As convenções podem ser feitas sem a intervenção do programador porém cada linguagem tem suas próprias regras para fazer isso Essas são algumas características de baixo da maioria das linguagem e não a regra definida que uma tipagem estática necessariamente forte ou vice-versa cada uma é construída com suas próprias características cê sabe por exemplo que utilizamos aqui
é uma dessas linguagens que mais características tem gente pajem ela é considerada no quesito de tipagem estática indina há um tempo forte segura e insegura nominativa e parcialmente indiferente de loucura mano por isso é um assunto complexo de ser tratado espero que a gente tenha ao menos conseguido te dar uma luzinha no fim do túnel sobre esse tema Se gostou deixa que um like vinho me diz aqui nos comentários Qual é a tipagem da sua linguagem não disco é linguagem não deixa o pessoal tentar adivinhar só com essa dica Então até o próximo vídeo do
CFTV tchau essa briga de tipagem vai longe eu sei de histórias de gente que já saiu no braço para defender tipagem dinâmica e fraca Olha eu vou repetir uma coisa que Sempre falamos aqui no canal viu gente por favor Aproveite ao máximo a linguagem mas não se apaixone demais por ela viu vai ter um dia e ele vai chegar e ela vai te abandonar um coração partido por conta de uma linguagem no segura tão fácil então enquanto você reflete sobre isso que tal aproveitar esse vídeo aqui do lado [Música]