this post was submitted on 08 Sep 2023
532 points (93.6% liked)

Programmer Humor

19618 readers
783 users here now

Welcome to Programmer Humor!

This is a place where you can post jokes, memes, humor, etc. related to programming!

For sharing awful code theres also Programming Horror.

Rules

founded 1 year ago
MODERATORS
 
you are viewing a single comment's thread
view the rest of the comments
[–] Nerd02@lemmy.basedcount.com 32 points 1 year ago (2 children)

I think there's a positive coming from this competition, though. Apparently this infighting has re-lit the want for type annotations to be embedded in vanilla JS (ECMAScript proposal). I feel like this would be the ideal scenario: things working right out of the box without needing a compile step or additional tooling.

You can get as close as it gets to this experience by using alternative runtimes such as Deno or Bun, which have native TS support (meaning you can just execute a .ts file without having to transpile it), but of course as soon as you have to write code for a browser you are back in the middle ages.

[–] TheCee@programming.dev 4 points 1 year ago (3 children)

That's not a positive, though.

Depending on how it pans out, it's either not useful enough. Who the hell doesn't use namespaces or enums. Or - as

These constructs are not in the scope of this proposal, but could be added by separate TC39 proposals.

implies - a door opener to outsource TypeScripts problem unto other peoples and not to investing into improving WebAssembly. That's just MS being lazy and making their problems other peoples problems.

I feel like this would be the ideal scenario: things working right out of the box without needing a compile step or additional tooling.

It's just annotations. No proposed semantics of a type system which your browser could check on its own.

[–] Phen@lemmy.eco.br 3 points 1 year ago* (last edited 1 year ago) (1 children)

Who the hell doesn’t use namespaces or enums

Uhhh, typescript devs? Enums were useful once, but typescript evolved everything else around it and these days using direct values is actually far better.

And I don't think anyone uses Namespaces other than for defining external modules.

[–] TheCee@programming.dev 0 points 1 year ago* (last edited 1 year ago)

My bad, I'm not deep enough into our frontend stack to realize Hjeilsberg already did what he does best - ruining enums. (I guess he is not to blame for global imports in c#, so i can not add 'questionable import module/namespace ideas'.)

And it seems like this proposal contains type declarations (in order to compensate for their enums), among other typescript specific things. So, guess it is option B, then.

[–] rockstarpirate@lemmy.world 2 points 1 year ago

Yeah it’s interesting because JS is interpreted, not compiled. The proposal allows for type annotations in the syntax but no actual interpreter consequences. On the one hand that makes sense because otherwise you’re in the territory of runtime type-checking which would be a huge performance hit and would sort of defeat the purpose of static types anyway. But that means you still have to rely on your IDE or a linter for this to be useful.

[–] fidodo@lemm.ee 2 points 1 year ago (1 children)

I don't see any practical use case for it as is as anyone wanting to use them would want the full TS feature set anyways, but I could see it being a good step forward for more meaningful features to be added in the future.

[–] TheCee@programming.dev 1 points 1 year ago

but I could see it being a good step forward for more meaningful features to be added in the future.

I think you are right. And that is unfortunate.

[–] o_d@lemmygrad.ml 2 points 1 year ago

Please this 🙏