Transcript from the "Static Typing Cons" Lesson
[00:01:08] And so I guess that's one of my biggest frustrations or my biggest hesitations. Now, it is true that I was actually very pleased when I saw that these tools came out with a way that you can do their typing annotations using only code comments. So at least in that scenario, you haven't locked yourself into if I don't use this tool this code literally can't run, all right?
[00:01:32] That's sort of an escape valve if you will, and that's a good thing, but almost nobody's using the code comments. Everybody's using the inline syntax annotations. And so there is a lot of lock-in that happens and I guess I've been around long enough to be wary of those sorts of lock-ins.
[00:01:50] Another thing, and I've got an asterisk here on purpose, but essentially using those tools requires a build process which kinda raises the barrier to entry. And the only reason that you wouldn't be required to have the build process is if you did that code comments approach and then got no benefit from the system whatsoever.
[00:03:02] And I don't think that's great as a barrier to entry.
[00:03:38] It looks like Haskel, in my estimation. And I don't mean that in a sort of, I don't mean that in a way to say, TypeScript's bad because that's the case but that is very intimidating. I mean I'm spending time and lots of mental effort here trying in the research for this course trying to figure this stuff out, and I start reading through some of the advanced features of this.
[00:04:01] And I just got completely lost with all these angles brackets nested all over the place and stuff. The syntax explodes exponentially in complexity. And I think if anyone were using those sophisticated features, I cannot imagine them hiring a developer on that was not already very, very strong TypeScript developer, them having any clue what to do with the code base.
[00:04:48] That is that containers, things like variables and parameters and returns and properties, that they necessarily must only have one type always and forever. There can be some places where that's beneficial like the return type-over function but variables, I guess, specifically, I don't think that's within the DNA to type our variables.
[00:05:48] That I think is probably one of the strongest callings. So there's a big divide there, between the great things that this tooling can do for the ecosystem, and for the teams that are using it, and I think some really strong downsides, and there should be more options in between.
[00:06:04] And it's why I started this discussion by saying I wanna broaden the discussion from just specifically these two trademarks like TypeScript and Flow to a larger discussion about the idea of type aware linting. The type aware linting as an idea is useful and important. And TypeScript and Flow are two particular ways of doing it, but not the only ways of doing it.