316
C++ Moment (lemmy.world)
all 35 comments
sorted by: hot top controversial new old
[-] backhdlp@iusearchlinux.fyi 61 points 8 months ago

Meanwhile Rust: you might get an error at line 45 word 3 because it assumes variable foo is an int32 but it could be (whatever else idk), let's not compile this before you correct this by changing line 43 in this specific way. Here's the before and after code snippets so you can just copy-paste the fix.

[-] TxzK@lemmy.zip 36 points 8 months ago

Man I fucking love the Rust compiler. Easily the most understandable and useful error messages I've ever seen.

[-] skulbuny@sh.itjust.works 10 points 8 months ago

Have you seen Elm's error messages? They were what inspired Rust to have its error messages.

[-] Asudox@lemmy.world 3 points 8 months ago

I like how Elm error messages are like the compiler talking to you as a person.

[-] anton@lemmy.blahaj.zone 18 points 8 months ago

In my IDE there us even a button for accepting the compilers recommend fix. This is only possible because the error messages and recommendations are that good.

[-] agent_flounder@lemmy.world 11 points 8 months ago

Hm. Rust sounds better and better every time I hear something new about it.

[-] smeg@feddit.uk 40 points 8 months ago

JavaScript: error: undefined is undefined or some nonsense like that. Sorry to repeat the old JavaScript bad, but I really hate debugging JavaScript!

[-] Tja@programming.dev 20 points 8 months ago
[-] Ironfacebuster@lemmy.world 8 points 8 months ago

My favorite error! I saw that so many times it stopped surprising me lol

[-] Tja@programming.dev 31 points 8 months ago

Someone needs to be introduced to gdb...

[-] DontRedditMyLemmy@lemmy.world 4 points 8 months ago

This is the Way

[-] parens@programming.dev 0 points 8 months ago

have fun without those debug symbols

[-] Tja@programming.dev 10 points 8 months ago

Why wouldn't I have debug symbols in the software I'm developing?

[-] parens@programming.dev 0 points 8 months ago

And what happens when you release it?

[-] Tja@programming.dev 5 points 8 months ago

If you want the same traces as Java and python in the meme, you leave them, if you don't you strip them. Or you ship them separately. You decide, like a big boy.

[-] Ziglin@lemmy.world 1 points 8 months ago

Have the user compile it without debug symbols to save space. If the user has a problem they can just recompile it with debug symbols and see what went wrong with gdb.

[-] DannyBoy@sh.itjust.works 16 points 8 months ago

It's been a minute since I used C/Cpp but if you compile with debugging symbols and using gdb give you info like in Java? At least the location of the crash.

[-] Miaou@jlai.lu 13 points 8 months ago

And then you realise the program doesn't crash when compiling with debug symbols ๐Ÿ˜ข

[-] Buddahriffic@lemmy.world 8 points 8 months ago

Then it's time to have a closer look at how your concurrent threads are behaving and where you missed a sync point or mutex.

[-] mrkite@programming.dev 4 points 8 months ago

That's when you break out valgrind because you certainly are using uninitialized memory.

[-] Ziglin@lemmy.world 2 points 8 months ago

And much more, it tells you each operation it goes through, where it is in the code, what's in the registers and more.

[-] Illecors@lemmy.cafe 15 points 8 months ago

But it returned 139! That's a start even without a debugger!

[-] brisk@aussie.zone 11 points 8 months ago

I have segfaulted in all those languages.

[-] xmunk@sh.itjust.works 11 points 8 months ago

PHP: Error on Line 0 in undefined.

[-] SlopppyEngineer@lemmy.world 10 points 8 months ago

And C/C++ are like that by design. Compiled languages were new and the developers were afraid additional checks would decrease performance. It was certainly performant in racing toward a crash.

[-] mox@lemmy.sdf.org 5 points 8 months ago

And C/C++ are like that by design. Compiled languages were new and the developers were afraid additional checks would decrease performance.

If you have a credible citation showing that was what guided K&R's decisions, I think you should post it.

[-] GnomeKat@lemmy.blahaj.zone 7 points 8 months ago

but with a core dump you can just load it up and see the state of the process when it crashed...

[-] mrkite@programming.dev 3 points 8 months ago

I'm trying to remember the last time I actually had a core file. I think core dumps have been disabled by default on Linux since at least 2000.

[-] Tja@programming.dev 2 points 8 months ago

They are stored in the system log and thus rotated automatically to save storage. At least in Arch.

I use Arch, BTW.

[-] CCF_100@sh.itjust.works 1 points 8 months ago
[-] anarchyrabbit@lemmy.world 4 points 8 months ago

Story time. Back at uni I had a c++ subject. Me being lazy as fuck I didn't attend many classes and let alone do the practicals during the semester. Exam time comes around. I realise I can't cram in a whole semester's learning in a week. Luckily it's open book exam. Big brain time, I print the whole c++ documentation to take into the exam. I frantically page through the hundreds of pages in my lever arch file looking for answers. I pretty much copy and write example code to questions. Very sad when I failed.

[-] JATtho@sopuli.xyz 2 points 8 months ago
gdb> break before it crashes
gdb> record full
gdb> continue
(segfault)

gdb> set exec-direction reverse

[-] mokus@lemmy.blahaj.zone 2 points 8 months ago

cries in verilog

[-] Ziglin@lemmy.world 1 points 8 months ago

The code editor I had to use for Java once didn't give me anything like that.

Meanwhile for C you can just use gdb, it's great!

this post was submitted on 28 Feb 2024
316 points (95.1% liked)

Programmer Humor

19594 readers
754 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