Java, by contrast, “is like the super controlling parents who won’t let you drink soda or watch TV.” TypeScript is the happy medium between the two, a fact that has launched it into the top-20 programming languages in a short span of time. While Angular’s uptake accounts for some of TypeScript’s popularity (Angular is written in TypeScript), the real reason has more to do with the dramatic improvements it yields in developer productivity.
All I wanted was a Pepsi
One reason is that Java’s strict control feels a bit inimical to web development. Dale told me in an interview, “Java is like the super controlling parents who won’t let you drink soda or watch TV. Every move is monitored, you can’t make decisions for yourself, and dating is prohibited until after you graduate college. Many people have a breakdown after living with this for so long.” The “parental” intentions may be good, but the impact is decidedly negative.
While not everyone is on board—Facebook, for one, has pushed its own Flow as part of React—the broader community seems to be flocking to TypeScript. Flow, for its part, has largely stagnated compared to TypeScript, which is booming. GitHub ranks TypeScript as the 15th most popular programming language (among 316 contenders). Roughly 10 percent of Stack Overflow’s diverse developer community is using TypeScript now, putting it at number 17 in terms of popularity, a tremendous feat for a relatively new language.
Clean your room
That incremental typechecking sounds small but isn’t. It pays huge dividends in developer productivity. As Dale notes, “Refactors that used to take weeks take days, sometimes less. And because refactoring is so much easier, cleanup that would never have happened becomes… almost painless.”