this post was submitted on 17 Jul 2023
523 points (97.6% liked)

Programmer Humor

19519 readers
348 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
 
all 50 comments
sorted by: hot top controversial new old
[–] [email protected] 85 points 1 year ago

"Typed language? Yeah, I'm using a keyboard."

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

I am currently teaching python and JavaScript devs Typescript. Everytime they hit a problem they switch to any

Sigh

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

Must be the same people who just comment out failing unit tests.

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

"Your crappy tests are failing again on my branch. I've commented them out until you fix them."

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

Sadly that sort of thing got so common where I work that I'll run the tests three times before considering looking into the error message to see if it is something I broke.

From time to time we take some days just to fix tests with inconsistent results, but there's always more popping up.

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

Yeah, we have a team whose job is to make sure all our tests run well and fixing them if they don't

load more comments (1 replies)
[–] mark 1 points 1 year ago* (last edited 1 year ago)

...or skip em

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

the beatings will continue until typing improves

[–] Uplink 7 points 1 year ago

That's why I kinda don't like Python and JavaScript anymore. Every time I want types for a library it's gonna take me time to get it working. For every serious project I do, I use a strongly typed language.

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

Eslint is your friend :)

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

Just create a al Inter rule that rejects Any types and a pre-commit hook that refuses the commit if the linter fails. Sometimes the brute force approach is the best way to teach

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

You told them not to?

[–] van2z 13 points 1 year ago (1 children)

I am happy there is no obvious "any" type in Rust.

[–] Hexarei 2 points 1 year ago

There is, it's just not easy to use

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

Does it compile???

... Compile???

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

i like when my strongly typed language can type itself, why should i have to type extra words because the compiler is stupid?

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

So that next time your coworker uses the wrong type, the compiler can scream at him: "NO I WONT COMPILE THIS YOU DUMBASS, LOOK JOHN SAID ON LINE 863 THAT IT SHOULD BE A DOUBLE, NOT A FLOAT FOR FUCK SAKE"

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

Tell me you are a Java dev without telling me you are a a Java dev 😂

[–] mark 0 points 1 year ago

As a JS dev, I can only wish we had those types 🥲

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

you can still have that without having to declare the type manually. check out Swift or OCaml for example

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

And if you have linter rules preventing any as a boundary type you just use Record<String, any>.

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

I mean that is the first step. ¯_(ツ)_/¯ The next step is to start defining the types more strictly than any.

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

Hmmm a more reasonable first step would be to just not even type anything until you're ready. But TS makes it hard to iteratively type parts of your codebase over time. One could type using JSDoc syntax for these cases, though.

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

Well, you can always just add the type definitions later on.

I did port some C code to D, by just pasting it in a D file, then fixing the differences (changing type names, rewriting precompiler macros with D metaprogramming and inline functions, etc.).

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

typescript is not a strongly typed language