this post was submitted on 02 Aug 2024
761 points (97.7% liked)

Programmer Humor

19149 readers
1132 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 46 comments
sorted by: hot top controversial new old
[–] henfredemars@infosec.pub 135 points 1 month ago (1 children)

All the debugging tools in the world doesn’t beat an excellent sense of intuition and putting that print statement exactly where it needs to be.

[–] ryannathans@aussie.zone 65 points 1 month ago (3 children)

As linus says, if you need to use a debugger your code is too complicated

[–] flying_sheep@lemmy.ml 38 points 1 month ago (2 children)

He works on Linux where he controls the whole stack down to the metal and I love that for him, but other people have to call library code, and them debug that if it doesn't work as they thought it would.

[–] rbits@lemm.ee 20 points 1 month ago (2 children)

Well then obviously if you use libraries, your code is too complicated

[–] Traister101@lemmy.today 10 points 1 month ago

Yep that's why I refuse to use standard libraries. It just makes my code too complicated...

[–] BleatingZombie@lemmy.world 2 points 1 month ago

Tell that to my employer

[–] zalgotext@sh.itjust.works 5 points 1 month ago

Right, the amount of times I've had to put breakpoints in Django/DRF code to figure out what's causing that weird undocumented behavior is concerningly large

[–] Theharpyeagle@lemmy.world 11 points 1 month ago

Dude can pry my debugger from my cold, dead hands.

[–] Cubes@lemm.ee 5 points 1 month ago

The problem is that sometimes it's not your code that you're debugging

[–] xmunk@sh.itjust.works 49 points 1 month ago (4 children)

echo __LINE__ . "Moo\n";

Honestly if you're not including the LoC in your debug statement I don't even fucking understand you.

But yeah, senior devs know the power of breadcrumb debugging (because most of us were deeply scarred by gdb).

[–] CanadaPlus@lemmy.sdf.org 25 points 1 month ago (2 children)

Did GDB do something bad at some point?

[–] Sphks@lemmy.dbzer0.com 17 points 1 month ago

Yes. It breaks points.

[–] quink@lemmy.ml 9 points 1 month ago (2 children)

That's console.trace() for all you JS devs out there.

[–] alqloe@lemmy.dbzer0.com 3 points 1 month ago* (last edited 1 month ago)

I always combine that with objects with the shorthand notation. So you always know what variable has what value without having to remember in what order you printed the variables.

console.trace({i, list});
// {i: 1, list: [0, 1, 2]}
[–] lemmesay@discuss.tchncs.de 1 points 1 month ago

I also use group and groupend to nicely collapse different logs. and table when i'm feeling funny.

[–] psud@aussie.zone 7 points 1 month ago* (last edited 1 month ago)

Don't you want it to look a little nicer? echo __LINE__ . ": Moo!";

I mean, presuming cowsay is unavailable

[–] flying_sheep@lemmy.ml 6 points 1 month ago

dbg!() for Rust users

[–] GammaGames@beehaw.org 30 points 1 month ago (1 children)

And when you need something more complex

console.log(1);
[…]
console.log(2);
[…]
console.log(3);
[–] mattd@programming.dev 24 points 1 month ago (1 children)

More like

console.log('shit');
[…]
console.log('fuck');
[…]
console.log('ass');
[–] fosho@lemmy.ca 11 points 1 month ago (1 children)

yeah and then you forget about one that makes it into a release and then see it in the console.

[–] arendjr@programming.dev 11 points 1 month ago

This is the real reason we have linters.

[–] GBU_28@lemm.ee 18 points 1 month ago (2 children)

Beep

Boop

Gloop

Glorp

Yeet

Yo

[–] Aabbcc@lemm.ee 5 points 1 month ago

"Hello worl" if I need something quick

"AAAAAAAAAAAAAAAAA" if I'm lazy and don't want to have to hunt the output logs for it

[–] sheepishly@fedia.io 2 points 1 month ago

That's me..... I do that...................

[–] Klear@sh.itjust.works 17 points 1 month ago

This is why I find shaders scary as fuck

[–] pkill@programming.dev 10 points 1 month ago (2 children)

tfw I recently worked on a side project where I was too lazy to change the log level but not sloppy enough to use raw printf so I'd just throw stuff into info and then remove the statements once I solved my issue

[–] veganpizza69@lemmy.world 3 points 1 month ago* (last edited 1 month ago)

[[[[[[[[[ TEST ]]]]]]]]]

[–] noproblemmy@programming.dev 3 points 1 month ago

After all, that's why git is there, to help me remember the shit I put all over the place. (Ok, it might have some other uses.)

[–] Kojichan@lemmy.world 7 points 1 month ago

Ahhh, my favourite debugging combo...

echo "<pre>"; print_r( "We are here, we are here!" ); echo "</pre>"; die();

Also fun at parties, hanging out asynchronously, is the ever popular PHP Mail to see if something ran in the background properly, or to get output.

[–] pimeys@lemmy.nauk.io 7 points 1 month ago

dbg!(1) all the time...