The introduction of Typescript at my job has made developing code so much better.
There's probably no need for Typescript in simple projects that are less than a few hundred lines of code, but the immense spider web of dependencies this blog features becomes unmaintainable if you don't use proper type validation. Remembering what properties are in what objects in a Rube Goldberg machine like this are simply impossible.
I appreciate languages like Javascript, PHP and Python for their ease of use, but I don't think they're well suited for any complex project.
I wouldn’t add python to that list as it supports decent typing (even though it’s not forced one you by default). When you disallow untyped methods and functions with mypy, the resulting code is quite clean and maintainable imo. And I wouldn’t call a language that’s used by probably the majority of all large web projects, including Instagram for example, in some way or other “not well suited for any complex project”.
I don't understand this sentiment. TypeScript is fantastic, and I can't help but think that all of the people hating on it are frustrated because they haven't taken the time to properly learn it or understand why it's constantly complaining about the code they write.
I used to get annoyed by TypeScript too when I first started using it—I felt like it was slowing me down and making me unproductive. But this is only because I tried to use TypeScript without really understanding how to use it effectively (which will make you unproductive with _any_ tool).
Once you work long enough with TypeScript, going back to pure JavaScript feels like hell.
There's probably no need for Typescript in simple projects that are less than a few hundred lines of code, but the immense spider web of dependencies this blog features becomes unmaintainable if you don't use proper type validation. Remembering what properties are in what objects in a Rube Goldberg machine like this are simply impossible.
I appreciate languages like Javascript, PHP and Python for their ease of use, but I don't think they're well suited for any complex project.