No início dos anos 2000, as linguagens de programação mais proeminentes nas empresas eram C, C++, Java e C#. Todas eram linguagens estáticas e cerimoniosas, além de um tanto claudicantes num momento em que a Web demandava mais e mais software. Quando surgiram frameworks como o Ruby on Rails e runtimes como node.js, programadores e programadoras mundo afora beberam da água como beduínos sufocando num deserto de erros de compilação. A vida parecia, de súbito, muito boa.

Para nossa tristeza, felicidade de programador é passageira. Todo aquele ganho de produtividade foi paulatinamente substituído por dificuldades de manutenção, redução de qualidade e muitos chamados de suporte na madrugada. As (agora enormes) bases de código dinâmico tornaram-se fontes de profundos ressentimentos para muitas equipes.

Surgiu aí a pergunta: e se o jeito antigo e o novo dessem match um no outro? E se construíssemos coisas novas olhando para o que a academia vem fazendo com linguagens estáticas? E se eu dissesse que minha variável x é mesmo um número? Alguém disse microsserviços? E se, e se?

Pois bem: o e-se-e-se virou o tema do Inviável 41. Vem com a gente que 2 não é string e a chapa é quente!

Rollbar: Top 10 JavaScript Errors

C#: /dynamic/

Scala: Dynamic

Haskell: Data.Dynamic

TypeScript

Flow

Sorbet

Hack

Typed Racket

What Makes a Good REPL

REPL-Driven Development

Making Impossible States Impossible

Phantom Types

GADTs

TypeScript: Advanced Types

Recomendações:

Leonardoreact-spring

React.PureComponent

Making Sense of React Hooks

Vitor“New Dark Age: Technology and the End of the Future”, James Bridle

Barry

Podden och tillhörande omslagsbild på den här sidan tillhör Vitor Capela e Leonardo Couto. Innehållet i podden är skapat av Vitor Capela e Leonardo Couto och inte av, eller tillsammans med, Poddtoppen.