DEV Community

Gene
Gene

Posted on

We should get rid of Typescript

I mean, IDEs or Code Editors should be intelligent enough to actually help us type-safe our code, and as well as auto-complete right?

Am I wrong? :D

Top comments (52)

Collapse
 
eshimischi profile image
eshimischi •

We should get rid of idea of getting rid of TS.

Collapse
 
gene profile image
Gene • • Edited

Not really. I think you should welcome such ideas. After all, TS was introduced and adopted... so why can't it be the other way around? Isn't that how tech works.

Collapse
 
eshimischi profile image
eshimischi •

I don't want to. I like TS and studied it not for nothing, you know. Tech works how vendors want it to work - i mean Google, Apple, Microsoft and etc.

Thread Thread
 
gene profile image
Gene •

Valid. And that's okay. But stopping others is wrong.

Thread Thread
 
eshimischi profile image
eshimischi •

Well you've created this post for opinions. I'm not stopping anyone, just making my opinion as you and others do.

Thread Thread
 
gene profile image
Gene •

Hope that's really the case because I got that vibe from your posts. If I am mistaken, then I am wrong. :) Thanks for the opinions

Collapse
 
daelmaak profile image
Daniel Macák •

I think it's a good idea in certain projects and in general if the native types proposal makes it past stage 2.

Collapse
 
eshimischi profile image
eshimischi •

Well first - it is not "the native types" proposal. JS won't ever be "strongly typed" language as TS..

Thread Thread
 
gene profile image
Gene •

That was never the intention of JS in case you missed it.

Thread Thread
 
daelmaak profile image
Daniel Macák •

By native I mean that the type information won't make your program un-executable in the native environment, eg. in browser. The proposal aims at providing the type information in a form that can be ignored, just like JSDoc is.

Collapse
 
overflow profile image
overFlow •

I'm with you there. There is many other languages we need to get rid of. But before them; let us start here with type script.
What if JS could do Types??? Maybe that is what should happen.

BTW- I see you do React. Do you do any JS?
Or any other languages and did you just start with React if you do other languages ?
Just curious because I'm a JS aficionado.

Collapse
 
gene profile image
Gene •

For me, I still don't want anything to do with types if I use JS. I'd rather let the IDE/Code editors do it for me.

Yes I do a lot of JS. I use Typescript a lot (2+ years).

Collapse
 
lionelrowe profile image
lionel-rowe • • Edited

You can already (partially) do this in VS Code with the Deno extension (and probably other TS-related extensions) — just add // @ts-check at the top of your JS file. Then you can use "Infer types from usage" to get JSDoc type annotations. It won't be able to infer everything, but works well enough for many everyday use cases.

You can also do the same thing in TS files (except the annotations will be TS ones rather than JSDoc, and you don't need to use // @ts-check).

Image description

Collapse
 
gene profile image
Gene •

Oh my this is nice! However, what I probably want is overall extinction of Typescript. Haha. TS is really good but...

Collapse
 
algot profile image
AlgoT •

But why add all this clutter if you could just have clean TS types + build-time checks?

Collapse
 
lionelrowe profile image
lionel-rowe •

As I say, it works with TypeScript just as well as with JSDoc. Personally I usually go with TS, but depends on your personal preference and the needs of your project as to which you choose. I'm just responding to the idea that text editors/IDEs can never infer types from usage, which is wrong.

Collapse
 
avinashega profile image
Avi •

Surprise surprise! VSCode uses Typescript tooling under the hood to achieve that!

Collapse
 
gene profile image
Gene •

Of course. What else is there?

Collapse
 
tiengtinh profile image
Tinh Ngo •

I think typescript aren't merely for the sake of type-safety, but rather, a beacon for code comprehension. Types contribute in conveying the author's original intentions, making it easier for future readers to understand the code and for maintainers to make safe changes.

Collapse
 
gene profile image
Gene •

That's documentation.

Collapse
 
tiengtinh profile image
Tinh Ngo •

That's right. The code is the best source of documentation.

Expressiveness stair:
Image description

Thread Thread
 
gene profile image
Gene •

Consulting Documentation should be "best" though.

Collapse
 
daelmaak profile image
Daniel Macák •

Depends. If you use JSDoc, sure the hints provided by it are enough to typecheck and autocomplete, as long as you use it everywhere where the JS alone is not enough to infer the types.

If you don't use JSDoc or any other way to declare static types, a substantial part of your codebase won't be possible to be statically typechecked and therefore you won't get coding assistance.

Collapse
 
leob profile image
leob •

No ... it's powerful, and it definitely has its place on more complex projects. Not saying it should be used on every project, but I'm using it on a project now and I definitely feel it has benefits there.

Collapse
 
raguay profile image
Richard Guay • • Edited

A good enough linter (which is just the first part of a compiler) can infer types and auto assign them. Then tell you when a type is being misused. But, I haven't seen a linter that is that good yet. Sad, since there are compilers for some languages with they type of ability. I believe the real issue is that linters are designed to be fast to process the code as you type. But, doing that much checking would make them too slow.

Collapse
 
thecheapaudiophile profile image
Griff Polk •

Just make JS have Types! But I like typescript 😅

Collapse
 
gene profile image
Gene •

Haha then that defeats the purpose.

Collapse
 
thecheapaudiophile profile image
Griff Polk •

Javascript or Typescript

Collapse
 
thecheapaudiophile profile image
Griff Polk •

Yeah, hang on. I have an image that defines this.

Collapse
 
nermin_karapandzic profile image
Nermin Karapandzic •

You are wrong. No the editors can never be smart enough without types and that's the biggest reason we need types. Is there a ton of shit in typescript: yes, should we get rid of it: no.

Collapse
 
gene profile image
Gene •

Pretty sure they can.

Collapse
 
ludamillion profile image
Luke Inglis •

How can they know the types with no type information?

Collapse
 
raldincasidar profile image
Raldin Casidar •

I believe in this. Im with you

Collapse
 
gene profile image
Gene •

\m/, and as well as others...