this post was submitted on 02 Aug 2024
778 points (97.8% liked)

Programmer Humor

24323 readers
1434 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 2 years ago
MODERATORS
 
all 46 comments
sorted by: hot top controversial new old
[–] henfredemars@infosec.pub 140 points 10 months 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 66 points 10 months ago (3 children)

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

[–] flying_sheep@lemmy.ml 38 points 10 months 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 21 points 10 months ago (2 children)

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

[–] Traister101@lemmy.today 10 points 10 months ago

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

[–] BleatingZombie@lemmy.world 2 points 10 months ago

Tell that to my employer

[–] zalgotext@sh.itjust.works 5 points 10 months 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 10 months ago

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

[–] Cubes@lemm.ee 5 points 10 months ago

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

[–] xmunk@sh.itjust.works 49 points 10 months 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 25 points 10 months ago (2 children)

Did GDB do something bad at some point?

[–] Sphks@lemmy.dbzer0.com 17 points 10 months ago

Yes. It breaks points.

[–] quink@lemmy.ml 9 points 10 months ago (2 children)

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

[–] alqloe@lemmy.dbzer0.com 3 points 10 months ago* (last edited 10 months 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 10 months ago

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

[–] psud@aussie.zone 7 points 10 months ago* (last edited 10 months 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 10 months ago

dbg!() for Rust users

[–] GammaGames@beehaw.org 31 points 10 months ago (1 children)

And when you need something more complex

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

More like

console.log('shit');
[…]
console.log('fuck');
[…]
console.log('ass');
[–] fosho@lemmy.ca 11 points 10 months 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 10 months ago

This is the real reason we have linters.

[–] GBU_28@lemm.ee 18 points 10 months ago (2 children)

Beep

Boop

Gloop

Glorp

Yeet

Yo

[–] Aabbcc@lemm.ee 5 points 10 months 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 10 months ago

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

[–] Klear@sh.itjust.works 17 points 10 months ago

This is why I find shaders scary as fuck

[–] pkill@programming.dev 10 points 10 months 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 10 months ago* (last edited 10 months ago)

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

[–] noproblemmy@programming.dev 3 points 10 months 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.)

[–] pimeys@lemmy.nauk.io 7 points 10 months ago

dbg!(1) all the time...

[–] Kojichan@lemmy.world 7 points 10 months 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.