#32 Language Shouldn’t Get In The Way
This is post #32 of my #365 day series.
Ok, first, let’s get the basics out of the way. Read https://dev.to/jfbrennan/the-reasons-i-don-t-use-typescript-2fhb for an excellent write-up on why TypeScript isn’t for everybody. If you’ve worked with a strictly typed environment, a language that is unforgiving in compiler issues, then you understand what I mean when I say “why the f*ck would you ever subject yourself to that”? As a broad generalization, I think of TypeScript as bumper lanes for this generation’s bad coders. If you have a massive sea of programmers that can’t maintain standards or compliance with basic programming patterns, then TypeScript makes a ton of sense. If, however, you’re dealing with a handful of very experienced developers who don’t want to spend more time going down configuration hell, rather than just getting the business logic to work in a clean and secure manner, then stay the heck away from TypeScript. Pickup another language like C, C++, or Java for that matter, if you want to learn what discipline means. Adding interfaces and at least three steps before I can get a function out is absurd. Especially if I ever just want to prototype something.
I would say that TypeScript might be great in large production environments. But honestly, create a JS Class and move on with your life if you want to create strictly typed interfaces (I’m not even sure if I’m using that phrasing correctly at this point). The herd mentality is real here. To understand why this type of behavior is bad, you have to understand the hierarchy of programming languages.
Adding layers of abstraction onto a scripting language is ABSURD. We’re basically creating a map to help us read another map. We already have abstraction away from binary and assembly level code. Why the heck would I make my life more difficult? For what gain? Compliance? Standardization? I’m an adult thank you very much. At this point I can maintain standards. If I’m concerned with messing up variable types, then I should be coding in C++ or Java and not be relying on the flexibility of a scripting language which should have made my life easier.
I’ve said this a million times, both in programming and when practicing law, language should not get in the way of the logic.