If you can play a song on an instrument, you probably like that song. You’ve gotten to know it. You’re part of each other now.
Tech can be like that. I have my own little bag of technologies that I know fairly well, so I like them. I like them a little more than technologies I don’t know yet.
Soon, I’ll be at risk of liking TypeScript. I’ll be one of those who tell you, “once you go TypeScript, you’ll never go back”. Just kidding — please inform me if I become that obnoxious. I want to be measured about all this. No technology is above criticism (oh god, please tell me you know that).
It remains fair to ask the question: is it really worth it? Is the time investment in learning worth it? Are the battles worth it? Are you preventing contributions? If there are complications to your pipelines, are they worth it? Is it costing you and your developers time or saving it?
There are more valid criticisms as well. A recent thread on Hacker News started by listing four things that intersect with what I’ve mentioned, and the comments have plenty of people both defending and further criticizing it. The error messaging, in particular, is the source of many battles. How much time fighting those battles is worth it?
If I had to pick a side (I don’t), I’m narrowly on the side of TypeScript, particularly when the code is being written for others or there are more than a few developers touching the code. I’m a sucker for DX what can I say. But I’d like to avoid the trap of liking it, or choosing it, just because I know it. If I can.