this post was submitted on 25 Jul 2023
28 points (100.0% liked)

Programmer Humor

19512 readers
349 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
 
top 21 comments
sorted by: hot top controversial new old
[–] [email protected] 3 points 1 year ago (1 children)

Then there's Haskell that would remove (well, used to at some point) your source code file if you made any errors: https://gitlab.haskell.org/ghc/ghc/-/issues/163

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

The world's angriest compiler.

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

Rust is nice, unless you have a traits compilation error from a 3rd party library using types that are more difficult to write than C++ templates.

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

yeah as nice as it is what you can achieve with trait-bounds there are definitely trade-offs, being compile time and error messages, and sometimes mental complexity, understanding what the trait-bounds exactly mean... I really hope, that this area gets improvement on at least the error-messages and compile time (incremental cached type-checking via something like salsa)

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

I much prefer getting told of that it doesn't match a trait than get 600 characters of which the majority is implementation detail of global allocators und from what exactly the string is derived.

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

Depends on what trait bound error messages you have had yet, I had 1000 lines long already, where it's not obvious at all what is meant (and is often a very simple fix). But I'm sure this will get better over time, there's already a bigger ongoing redesign of the type system solver, so maybe it will be integrated into stable rust soon.

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

Sounds like Rust propaganda to me >:(

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

Tbf, you have to be pretty far with Rust to get to a point where Rust's compiler errors stop helping you (at least, as far as I've seen). After that, it's pretty much the same

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

Yep use a little bit more deeply cascaded generic rust code with a lot of fancy trait-bounds and error messages will explode and be similar as C++ (though to be fair they are still likely way more helpful than C++ template based error messages). Really hope that the compiler/error devs will improve in this area

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

MySQL: you have an error near here.

Me: What's the error?

MySQL: It's near here.

Me: You're not going to tell me what the error is? Okay, near where? Here?

MySQL: warmer... warmer...

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

Oracle: You have this error in line 1

User: Hey, no, there isn't anything to cause this error in line 1

Oracle: I'm telling you, it's in line 1

User: Hum... How many lines are in my 10 lines query?

Oracle: 1

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

One of the reasons i started learning rust was bc of how easy it is to get into it, or at least that's how it felt for me. It wasn't until a few months into consistently writing that I started to encounter things that I didn't understand.

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

The good thing about Rust is that if you have no idea of any problem in your code, it very likely because your code is ok.

On C++ things are different.

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

C just shrugs and says "Seg Fault."

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

Probably forgot a semicolon

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

This joke is never funny; Forgetting a semicolon in c results in compile time errors, not runtime errors

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

Way too short to be a real C++ error. Needs a few more pages of template gibberish.

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

Template>, Outer>>>::static_wrapper, spirit::parser::lever>::fuck_you

[–] [email protected] 0 points 1 year ago* (last edited 1 year ago)

Syntax error: unmatched thing in thing from std::nonstd::__map<_Cyrillic, _$$$dollars>const basic_string< epic_mystery,mongoose_traits, __default_alloc_>

(from James Mickens' The Night Watch, highly recommended with his other essays: https://mickens.seas.harvard.edu/wisdom-james-mickens)

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

Yeah, but which one i cooler?

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

Rust because having a package manager is important.

Even C has a package manager