News for hackers. Stuff that matters.
Re:Case against OOP is understated, not overstated (2020) by rbanffy on Friday February 11, 2022 @06:54AM (#30300337)
The second one scares me. It implies some_state is mutated (or not, we may just be logging something) by the do_stuff function while the first makes it very clear that some_state is in charge of doing stuff and that the implementation is aware of how some_state is implemented itself.

OTOH, the second one would be much better (and imply immutability) if it were written as

  new_state = do_stuff(some_state)
But it'd also allocate a new state.
Re:Case against OOP is understated, not overstated (2020) by cowl on Friday February 11, 2022 @11:04AM (#30302994)
This is a symtom of seeing everything with the OOP and state glasses.

let's have do_stuff=square and some_state=2.

What does square(2) imply?

Re:Case against OOP is understated, not overstated (2020) by jshen on Friday February 11, 2022 @12:22PM (#30304082)
Better yet, what does 2.square() imply.
Re:Case against OOP is understated, not overstated (2020) by jshen on Friday February 11, 2022 @10:42AM (#30302688)
Immutability is independent of whether something is a method call vs a function call.