this post was submitted on 22 Nov 2023
0 points (NaN% liked)

Programmer Humor

19149 readers
1215 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
[–] roadrunner_ex@lemmy.ca 0 points 9 months ago (1 children)

I kinda feel your pain. A project that I helped launch is written in Typescript technically, but the actual on-the-ground developers were averse to using type safety, so any is used everywhere. So, it becomes worst of both worlds, and the code is a mess (I don't have authority in the project anymore, and wouldn't touch it even if I could).

I'm also annoyed at some level because some of the devs are pretty junior, and I fear they are going to go forward thinking Typescript or type safety in general is bad, which hurts my type-safety-loving-soul

[–] Zangoose@lemmy.world 0 points 9 months ago (1 children)

In theory I'm a fan of the inferred but static typing systems that most modern languages use (kotlin, rust, TS, etc.) where most local variable types can be inferred and only return types/object fields/parameters need explicit types.

I just despise typescript because it feels more like someone put a bandaid over JavaScript and all of its oddities instead of making a properly fleshed out language, and allowing the option for an 'any' type to be used freely by default emphasizes that.

[–] Zikeji@programming.dev 0 points 9 months ago (1 children)

Based on your description it sounds like you haven't given it a fair shake. I'll take TS over JS any day, at least there is room for improvement. I will say however I personally haven't been unlucky enough to run into projects that abuse the any type. The worst I've run into is a JS library with no typings I have to manually type.

[–] Knusper@feddit.de 0 points 9 months ago

I imagine what they mean is e.g. that TypeScript can tell you something is a Date, but it doesn't attempt to fix some of the confusing, quirky behaviour with that: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date#interpretation_of_two-digit_years

So, yes, it's generally better than JS, but it doesn't actually make it good/attractive, if you're used to the sanity of backend languages. It very much feels like lipstick on a pig.