1

Vou dar a opinião impopular: TypeScript vale a pena, mas não pelo motivo que a maioria defende.

Não acho que é uma opinião impopular, dependendo da comunidade.

São poucos os que realmente utilizam TypeScript corretamenta. Não vou dizer que eu sou um desses casos, pois só utilizo para code throw away. Literalmente apenas para testes. Tudo que eu faço é praticamente em Rust ou C. No entanto eu consigo observar bem quando estão usando TypeScript de maneira inteligente por ter tido uma experiência de 3 anos codificando em TypeScript todos os dias. A maioria faz gambiara pois JavaScript permite isso. TypeScript apenas reduz isso, mas com o any, é JavaScript com extensão diferente.

eram de lógica de negócio, condições de corrida, edge cases que nenhum sistema de tipos captura.

Ponto EXTREMAMENTE IMPORTANTE. A maioria dos bugs são de lógica. Especialmente relacionados a memória. Outro ponto é questões de otimização.

TypeScript mal usado é pior do que JavaScript. any em todo lugar, type assertions sem verificação, tipos gerados automaticamente que ninguém lê — isso não é TypeScript, é JavaScript com cerimônia.

Vocẽ não poderia ter mais razão. Corretíssimo.


Toda ferramenta tem seu espaço. Para ser sincero, eu nunca curti programar em JavaScript/TypeScript por diversos problemas inerente a linguagem, mas é muito fácil de aprender e utilizar. O problema é que por ser fácil, ou seja, menos restrito, abre espaço para bugs técnicos e de lógica. O mesmo se aplica para Python, mas Python ainda consegue capturar mais problemas lógicos que TypeScript.

Quando você muda uma interface e 40 arquivos quebram, você sabe exatamente onde trabalhar. Em JavaScript puro, descobre em runtime.

Aqui eu diria que é um problema de engenharia/design. Uma interface é um contrato. Se o contrato muda, tudo muda e como você mencionou, muitos arquivos quebram. Todo dev deveria parar um pouco e aprender sobre engenharia de software/design systems. Há quem criei e passe a utilizar interfaces de maneira indiscriminada como se fosse uma estrutura qualquer.

Carregando publicação patrocinada...
1

Faz sentido, quem vem de Rust ou C olha para TypeScript de outro ângulo. Sobre Python capturar mais problemas lógicos: discordo um pouco. Python é dinâmico e a maioria dos erros de lógica só aparecem em runtime também, não tem como escapar. A diferença do TypeScript é a modelagem explícita de domínio, que força você a pensar nos contratos antes de escrever. Sobre interfaces quebrando 40 arquivos: concordo que é design, mas prefiro o compilador me mostrando o impacto do que descobrir isso em code review ou em produção. Você usa Rust no trabalho ou só em projetos pessoais?

1

No momento só em projetos pessoas, pois mercado Brasileiro para Rust é bem pequeno (se é que existe). Porém estou estudando bastante inglês para abrir horizontes no mercado internacional.

1

Mercado de Rust no Brasil é quase inexistente, você está certo. As vagas existem, mas estão todas nos EUA, UK e Alemanha, principalmente em infra, sistemas embarcados e fintech. O inglês abre esse mercado de forma bem direta. Estudar Rust e inglês ao mesmo tempo é uma combinação que faz sentido: quando o inglês chegar em nível de entrevista, o Rust já vai estar num ponto que diferencia. Qual é o seu nível de inglês hoje, está mais no reading técnico ou já consegue se comunicar bem também?

3

Eu consigo ler praticamente tudo em inglês sem consultar o dicionário. Porém como não tenho um ambiente favorável a escuta e fala, acabo tendo uma deficiência nisso. Ainda estou formulando caminhos para lidar com isso de maneira controlada.

Sobre escrita, é possível, eu apenas tenho evitado um pouco por preguiça. Como não tenho muitos amigos, e nenhum que sabe inglês, não consigo criar um contato frequente que treine essa skill. Porém eu comecei a me comprometer mais e escrita não será mais um problema em alguns meses