DEV Community

Discussion on: What is the ONE language/framework you refuse to use? But...WHY???

Collapse
 
tmchuynh profile image
Tina Huynh

Interesting...I'm definitely seeing both sides. People are saying TypeScript is helping a lot! And then there are those saying that with the developments of j
Javascript, you don't really need to use TypeScript.

Collapse
 
dumboprogrammer profile image
Tawhid • Edited

Let me add something:
Typically low level or staticly typed language users like typescript because they like to work strongly typed pattern.(personally I like it too because I mostly work with C++ and C#)
on the other hand Typical web developers who mostly used javascript doesn't like typescript because compared to javascript, typescript looks scary and weird .They don't want to do the same thing with extra steps, you get the idea.

Collapse
 
menottiricardo profile image
menottiRicardo

I tried TypeScript in a small app two years ago and haven't used javascript since then...

Thread Thread
 
tmchuynh profile image
Tina Huynh

I thought TypeScript isn't optimal for all projects. Correct me if I'm wrong. I haven't looked into it as much as I would like

Thread Thread
 
aeryle profile image
Aeryle

For very very small projects, I doubt Typescript is worth the additional time. Of course Typescript brings alot of advantages to projects, but sometimes using it for something very small just isn't worth it. But most of the time I'd say that it really is a good thing to have.

Thread Thread
 
joelbonetr profile image
JoelBonetR πŸ₯‡ • Edited

@tmchuynh @chlorophyllkid
It depends on the "logic load" you are going to add.
On average you'll prefer to have business logic in the backend. Thus it will depend on the needs of this logic and the architecture.

Let's add some examples as explanation:

If it's a microservice running in Node JS that exposes a CRUD through an endpoint, it will probably be a tinny one with few lines of code for each HTTP verb handler thus, even is OK to have some TS features it's not a real need.

On the other side, if it's a big service that deals with multiple instances or that deals with a third party (even being a single one) you may prefer to have TS to end up with a more robust code. It's all about robustness.

Last but not least, you must not couple business logic into the frontend: i.e. You can have a frontend in Angular but maybe in 2 or 3 years angular is dead and you need to migrate to a different tech, if you couple business logic on it, it will be a hell of a process, plus most of the time you need direct access to the DB to ensure data reliablility, referential integrity and so on.

So doing the right thing, the only logic you'll handle in your frontend is interaction logic (i.e. The submit button is disabled till you don't fill this form required inputs...)

If you apply SOLID and KISS, TS is not a need -usually- (some projects can grow in overcomplicated ways I still can't understand πŸ˜‚)

So, even doing a microservice or a frontend (let's say a React one), adding TS or an extra check for documenting and basic typechecking as contingency wall it's preferred (Robustness).

Take a look at this post to understand better what I'm trying to say.

Hope it helps somehow.