4 ms·
Thanks. I don't really understand what is light about that. Being able to compare memory to compare two object doesn't make an object any lighter, compared to
by dullgiulio 7y ago
Thanks. I don't really understand what is light about that.
Being able to compare memory to compare two object doesn't make an object any lighter, compared to magically calling a compare method on the object itself (can be decided at compilation time, thus no performance penalty: it depends on what the compare method does.)
Immutability also doesn't make the object lighter, it's again a compile-time property.
I am still missing something...
- merb 7y agoyeah as said, normally people would see records/data classes as classes that don't use the same amount of memory than a normal class. i.e. some kind of immutable struct. that's why I'm a little bit salty about the feature. currently records are more comparable to the scala case classes, where you have automatic destructors, better equality, immutability, etc... and not necessary a compacter memory data. reading the proposal makes more sense than this deep dive, since it explains the reasoning why they don't added special cased data classes.
- UK-Al05 7y agoPreviously you had to write a lot of code to implement equality/compare etc. Records automatically implement them. So its lightweight in that you need less code.