Executando verificação de segurança...
4

Primeiro, vamos definir corretamente: https://pt.stackoverflow.com/a/21513/101. Eu sei que a internet está cheia do termo "fortemente tipado" em uso para algo diferente do seu significado. Entendendo errado, fica difícil explicar.

Java e C# até são fortemente tipadas, assim como tantas outras, como Python. Lua, e muitas que as pessoas acham que não são. Justamente porque o termo que querem usar é estaticamente tipada. Um exemplo contrário é C ser fracamente tipada, mesmo sendo estaticamente tipada, então as pessoas têm um entendimento errado.

Quase toda linguagem é tipada, acredito que todas de alto nível. Algumas têm apenas um tipo e tags, como costuma acontecer com linguagens de tipagem dinâmica.

JavaScript, junto com PHP, são das poucas linguagens fracamente tipadas. E justamente por isso são amplamente criticadas. Esse é o maior problema delas. Isso efetivamente traz problemas, ainda que administráveis.

na verdade tem uma pegadinha aí. As linguagens não costumam ser completamente uma coisa. C# por exemplo é quase toda estaticamente tipada, mas possui um escape e podem existir tipos dinâmicos para dar flexibilidade para a linguagem. E ela abre exceções na sua tipagem, por exemplo, misturando um valor válido de um tipo com null que é de outro tipo, e tem característica de tipagem fraca, de forma bastante limitada. Outras linguagens são um pouco assim. Algumas linguagens mais dinâmicas estão tendo a opção de serem um pouco mais estáticas (não costuma ficar tão bom por questões de compatibilidade, mas tem serventia).

TypeScript é complicada porque tem compatibilidade com JavaScript, então ela não tem como não dinâmica e fraca na tipagem. Mas ela oferece recursos para funcionar de forma estática e forte.

TypeScript é TypeScript. Outra linguagem é outra linguagem. Não é o mesmo que aprender uma ou outra.

Se você aprender uma linguagem com tipagem forte e estática, mesmo que opcionalmente ajuda entender bem esse estilo de tipagem, mas não é o mesmo que aprender a tipagem de outra linguagem, que pode ser parecida mas nunca idêntica. Tudo tem nuances e precisa aprender todas elas quando muda de tecnologia. Por isso a base é tão importante. Só assim você navega bem em tudo.

Eu tenho a impressão que é uma percepção errada que a rejeição seja porque não sabe outros tipos de linguagens. A não ser que só esteja indo atrás de vagas para essas linguagens, o que não faz sentido se sabe outra linguagem. Em geral as empresas não falam o real motivo da rejeição, pelo menos quando é algo que pode melindrar a pessoa. É uma forma de positividade tóxica, ela evita falar mal de você, impedindo você saber o que tem que melhorar, iludindo. Claro que não posso fazer afirmaçãoes específicas do que aconteceu, é só uma das possibilidades.

Aprender TypeScript te dará subsídios interessantes, mas continuará sendo rejeitado onde demanda Java ou C#. E também em locais onde exigem mais do que apenas saber usar ferramenta. Desenvolver software é muito mais que isso.

Eu acho que precisa organizar melhor o objetivo, rever a percepção que tem, para alcançar o que deseja. Não sei detalhes e não posso afirmar nada, mas sei que a pessoa terá muitos problemas se a percepção estiver errada. E isso anda bem comum, especialmente entre jovens que sempre foi comum, eu mesmo meti muito pés pelas mãos quando era.

Faz sentido para você?

Espero ter ajudado.


Farei algo que muitos pedem para aprender a programar corretamente, gratuitamente. Para saber quando, me segue nas suas plataformas preferidas. Quase não as uso, não terá infindas notificações (links aqui).

Carregando publicação patrocinada...