News for hackers. Stuff that matters.
Re:Verb-Noun vs. Noun-Verb by gambler on Wednesday October 16, 2019 @07:23PM (#21277170)
This whole comment section tells me that almost no one on HN really understands OOP.

OOP is not about nouns. It's about establishing protocols between subsystems. What you're describing are the typical fake "dilemmas" of someone coming from a static, class-oriented programming languages like Java.

Look up Class Responsibility Collaborator exercise.

Re:Verb-Noun vs. Noun-Verb by Noumenon72 on Wednesday October 16, 2019 @07:33PM (#21277265)
I looked it up and while worthwhile, I would need someone to explain how it applies to this specific comment section.
Re:Verb-Noun vs. Noun-Verb by betenoire on Wednesday October 16, 2019 @09:42PM (#21278195)
> It's about establishing protocols between subsystems.

Is that what it's about? I try to establish protocols between subsystems without OOP quite often. Are you referring to message passing specifically?

Re:Verb-Noun vs. Noun-Verb by excessive on Thursday October 17, 2019 @12:15AM (#21278855)
> Is that what it's about?

I'm pretty sure most people who strongly like OOP are sure their particular definition is the correct one. I haven't seen many people agree about what that definition is though. I generally dislike OOP, but perhaps that's because my definition is "encourages implementation inheritance". As you're keen to note, the standard list of other things (encapsulation, message passing, dynamic dispatch, interface inheritance, and even "establishing protocols") are available in a lot of other languages which people don't generally consider OO.

Perhaps I'm ignorant, but I like my way of doing things, and a.f() is less attractive to me than f(a) for all the reasons I listed.

Re:Verb-Noun vs. Noun-Verb by sundarurfriend on Thursday October 17, 2019 @03:15AM (#21279641)
> This whole comment section tells me that almost no one on HN really understands OOP.

Or maybe it tells you that the benefits of OOP are different from what they're theoretically supposed to be. What I read from the thread is that there seems to be significant psychological appeal to some in the noun-verb way, and OOP (perhaps unintentionally) satisifies that need. (And that helps me understand the frequent "Julia needs a thing.do() syntax" complaint on the Julia forums, and why telling them "semantically do(thing) does the same thing" doesn't seem to work.)