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

Programmer Humor

19471 readers
1393 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
[โ€“] Lowpast@lemmy.world 0 points 11 months ago (1 children)

Sounds like you don't know how to properly use TypeScript...

[โ€“] Zangoose@lemmy.world 0 points 11 months ago (2 children)

If I had the willpower or time to go through a multi-thousand line (not including the html templates) legacy Angular 6 codebase where almost every property is typed 'any' then I assure you I would have, it's driving me insane ๐Ÿ™ƒ, also why I prefer backend

[โ€“] roadrunner_ex@lemmy.ca 0 points 11 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 11 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 11 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 11 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.

[โ€“] 0xSim@fedia.io 0 points 11 months ago (1 children)

The boy scout technique: fix your types when you're working on a bug or a feature, one file at a time. Also try to use unknown instead of any for more sensitive parts, it will force you to typecheck.

[โ€“] WhatAmLemmy@lemmy.world 0 points 11 months ago (1 children)

The fuck the lemons technique: resign and seek an employer that didn't fail at the most basic level of engineering management and development culture for years and years โ€” because life is short and we're all running out of time... always.

When life hands you lemons, just say fuck the lemons and bail

[โ€“] Hupf@feddit.de 0 points 11 months ago

combustible lemon