this post was submitted on 15 Nov 2024
294 points (93.8% liked)

Programmer Humor

32532 readers
511 users here now

Post funny things about programming here! (Or just rant about your favourite programming language.)

Rules:

founded 5 years ago
MODERATORS
 
you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 2 points 6 days ago (10 children)

I mean, if your IDE does it for you, is it really that much better that it's shorter?

[–] [email protected] -1 points 6 days ago (9 children)

not the IDE, its the compiler. this is also not some AI shit, in many cases (not all) the compiler can actually figure out how to do this, because it's not hard, it would just be a lot of boilerplate if written manually.

[–] [email protected] 2 points 6 days ago (8 children)

Why did you even bring up AI? IDEs have been able to generate equality functions for decades without AI.

It's kinda neat to have this defined directly in the language so that compilers can implement it, but creating equality function is so low effort that this doesn't really seem like a big deal.

Like, you define the members in a class, then you tell your IDE to generate getters, constructor, equals, hashcode, etc all in like 5 seconds.
I like it, it's nice when the language itself defines reasonable defaults for things, but realistically you're saving yourself a few seconds of effort.

[–] words_number 4 points 6 days ago (1 children)

Isn't it obvious? More code to skim, scroll over and maintain if something changes. If you add a struct field, your manual EQ implementation still compiles and seems to work but is wrong and will lead to bugs. Yes, solving this for 99,999% of cases with an attribute is just far superior and does make a difference (while keeping it easy to manually implement it if needed). Hash and Ord and some other traits can be implemented in a similar fashion btw..

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

I said it was better, just not much better.

The maintenance costs of equals is nearly zero. Scrolling over boilerplate seems like a real stretch, like saying a novel with a picture every chapter is harder to read.

I like that you can't accidentally forget to update it, which is kinda nice but is rarely a concern.
And it's a bit more readable, which is nice.
It's better, but folks are talking like it's Super Jesus and I think it's more like finding a dollar in the parking lot.

[–] words_number 0 points 4 days ago (1 children)

Who said it was superjesus? It's one of the smaller points on the long list of rusts advantages over other systems level PLs, but nonetheless notable. Especially if you consider that the feature that makes this possible is used for a ton of other useful stuff. And seriously, the boilerplate does matter, especially if you also add Ord, Hash and Debug impls. Your comparison with pictures in a noval makes no sense, since these add something valuable to the text and are easily distinguished from it. Heaps of boilerplate at a glance look just as meaningful as important sections of code, so being able to avoid it makes navigation significantly easier.

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

I know the image post was hyperbole, but the way y'all are gushing over it is borderline religious, in an unsettling way.

Immediately, you call boilerplate a Big Deal and identify yourself as a zealot. Even in Java, a notoriously verbose and boilerplate laden language, it's a Small Deal unless you're doing something insane. Let me guess, your coding in VI or something.

Rust looks great. It's a bunch of small improvements over most languages. But True Believers of any lang need to chill the fuck out.

load more comments (6 replies)
load more comments (6 replies)
load more comments (6 replies)