> It's not worth it. Productivity will drop enormously
How does TypeScript make your "productivity drop enormously"? It has type inference, union types, looks just like ES6, and the typing is fully optional. The learning curve is quick if you've ever done static typing before (and not that hard even if you haven't).
And you get the productivity boost of not dealing with a lot of the regular JavaScript BS (no more "spooky undefined at a distance" because somebody forgot a 3rd parameter 4 methods down the callstack), as well as the ability to safely and automatically refactor, and the ability to immediately understand the API of other people's code or libraries (as long as it's typed, and most popular libraries have type definitions now).
In my experience the productivity benefits more than make up for the time you spend managing your types.
Kind of related: it's fun as a Type 1 Diabetic when people tell me that I should be able to manage my disease with just diet. Or when they get upset because I eat a bowl of ice cream or something (even though I bolused properly for the carbs).
It's really unfortunate that T1 and T2 diabetes have the same name, since they're completely different diseases that just happen to share some symptoms.
Because Slack is a chat system and you typically just care about the most recent messages (which are always displayed). I find scrolling back in Slack to actually be very irritating, when I have to do it. It's slow and the view jumps around whenever the next page loads in. (The UX on the search functionality is also fairly lacking.)
How does TypeScript make your "productivity drop enormously"? It has type inference, union types, looks just like ES6, and the typing is fully optional. The learning curve is quick if you've ever done static typing before (and not that hard even if you haven't).
And you get the productivity boost of not dealing with a lot of the regular JavaScript BS (no more "spooky undefined at a distance" because somebody forgot a 3rd parameter 4 methods down the callstack), as well as the ability to safely and automatically refactor, and the ability to immediately understand the API of other people's code or libraries (as long as it's typed, and most popular libraries have type definitions now).
In my experience the productivity benefits more than make up for the time you spend managing your types.