this post was submitted on 02 Apr 2024
146 points (100.0% liked)

Programming

20196 readers
319 users here now

Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!

Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.

Hope you enjoy the instance!

Rules

Rules

  • Follow the programming.dev instance rules
  • Keep content related to programming in some way
  • If you're posting long videos try to add in some form of tldr for those who don't want to watch videos

Wormhole

Follow the wormhole through a path of communities [email protected]



founded 2 years ago
MODERATORS
 

I was talking to my manager the other day, discussing the languages we are using at $dayjob. He kind of offhandedly said that he thinks TypeScript is a temporary fad and soon everything will go back to using JavaScript. He doesn't like that it's made by Microsoft either.

I'm not a frontend developer so I don't really know, but my general impression is that everything is moving more and more towards TypeScript, not away from it. But maybe I'm wrong?

Does anyone who actually works with TypeScript have any impression about this?

(page 2) 50 comments
sorted by: hot top controversial new old
[–] [email protected] 10 points 1 year ago (6 children)

I don't see it dying from my perspective. Its only been getting better and better. The only thing I could see displacing it in my org is maybe Rust due to WASM proving a transition path.

We use TS on the back end to leverage our teams existing skill set and libraries we've built up.

I know it's a meme to use "the next best thing" in the ecosystem, but we've been really happy with the newish Effect library + Bun runtime. Effect is like a merger of the older fp-ts/io-ts libraries (same author works on both) with Zio from the Scala ecosystem. It vastly simplifies the former and the new stuff with dependency injection and defect management is refreshing. With the Bun runtime, we see a 15x faster startup time (great for dev). Its halved the RAM requirements in prod. We don't even need to transpile... We still do for prod to tree-shake dev-only code to ensure its not available in prod, but deploying to dev is FAST.

load more comments (6 replies)
[–] [email protected] 9 points 1 year ago

Wow, he's living in 2012 or whatever. A true time traveler.

[–] [email protected] 9 points 1 year ago (1 children)

Id rather quit than go back to pure JavaScript.

[–] [email protected] 4 points 1 year ago

But it's so sexy. Strongly typed language? *Scoff

[–] [email protected] 8 points 1 year ago

I'm not a FE guy so don't write it much, but I'd always rather use typescript if I had to use anything like JS. Our FE guys use typescript at my current job and my previous one as well

[–] [email protected] 7 points 1 year ago

JavaScript will implement the things that work out in TypeScript. So… yes and no?

[–] [email protected] 7 points 1 year ago* (last edited 1 year ago) (1 children)

Personally I'd rather use JSDoc in my own projects for type annotations and call it a day. I find TS a bit annoying but that might be because I'm not that familiar with it.

[–] [email protected] 6 points 1 year ago* (last edited 1 year ago) (1 children)

That's just Typescript with extra steps.

Though I have also done this once or twice for single-file projects where I didn't want to deal with actually running tsc. It has some annoying downsides though, e.g. you don't get to have a tsconfig.json and the syntax sucks.

Microsoft had a proposal to allow TS annotations in JavaScript which would have been awesome and fixed the syntax issue.

Looks like it was discussed a year ago and hasn't really made much progress. Seems like lots of people wanting to shoehorn runtime type checking onto it.

[–] [email protected] 4 points 1 year ago* (last edited 1 year ago) (1 children)

Is it? I just have it auto-generate in my IDE with snippets. If I was using TS I would still document using TSDoc anyway. You can use jsconfig.json instead.

load more comments (1 replies)
[–] [email protected] 7 points 1 year ago

For me, personally, yep; 100%. I've tried at least 3 times to convert, it just gets in my way. I'm way way faster with plain old JS. But I'm also a Rubyist so it is all ducks anyway.

[–] [email protected] 6 points 1 year ago (4 children)

I don't really get the appeal of strongly typed languages. Can't you just use try/catch blocks, and/or use functional programming and return early if the data structure of whatever you're working with isn't what you expected?

I guess it can help older code easier to maintain because the expected data structure is right there, but you could also just include it in a comment above the function.

I personally find TS slows down initial production of a project and raises so many unnecessary errors.

Is there some huge benefit that I'm missing? Because I don't really get the appeal. I mean, I do on some level, but I don't really understand why so many people are absolutely obsessed with TS.

[–] [email protected] 8 points 1 year ago

Let me reverse this question and ask what is the benefit of dynamic typing? What is gained from vaguely defined objects?

The purpose of typed languages is to ensure the bare minimum when it comes to safety. That when you're accessing a field of an object that field is real, and that field is always going to be an int or a string.

Try/catch only goes so far before it becomes way more cumbersome than necessary, as is checking every field of an object.

Typescript is an example of a language that does static typing poorly, because by design it has to. It's a quick bandaid fix over an inherently awful language.

[–] [email protected] 5 points 1 year ago

I like typescript because my API can generate types for my FE project.
So, if i change my API, i pull in fresh types and fix the errors, and i get in-ide hints for the shape of payloads, responses and events. Not everything is simple CRUD.
Also, if you pull in a library, having types is a godsend

load more comments (2 replies)
[–] [email protected] 6 points 1 year ago

Have you tried slapping your manager?

[–] [email protected] 6 points 1 year ago (5 children)

The only valid argument against typescript is that it is too similar to vanilla JavaScript. It does not go far enough. We need type systems like Ocaml's.

I suppose you can also complain about needing a build step, but I find this silly. There are so many tools that make this easy or automatic.

load more comments (5 replies)
[–] [email protected] 6 points 1 year ago

I don’t think your manager is sane.

Why on earth would we move back to JavaScript at this point.

Disclosure: I am a TypeScript dev and my boss is fully invested in Microsoft at this point. We use C# .Net and we use Azure and Teams.

[–] [email protected] 4 points 1 year ago

If JavaScript implements type safety then I believe it will go away. If not then it will continue to be used.

[–] [email protected] 4 points 1 year ago* (last edited 1 year ago)

He might've watched this video: https://youtu.be/5ChkQKUzDCs

TL;DR: Big projects, like Svelte, Drizzle and Turbo ditched TypeScript

[–] [email protected] 3 points 1 year ago

Wait until they realise its pointless…

load more comments
view more: ‹ prev next ›