On 2020-09-12 at 14:07:57 +1000,
Cameron Simpson <c...@cskk.id.au> wrote:

> Dan, I should preface this by saying I don't substantially disagree
> with you, I just work differently and want to show how and why.

> The beauty here is that you have the same pattern of
> classname.transcribe_value(value) to use whatever binary format you
> want.  And that's a static method because it doesn't need a class or
> instance for context - it just transcribes the data.

> > IMO, m.f has less cognitive load than m.X.f, at their definitions
> > and at call sites.  Full disclosure:  I consider most of Object
> > Oriented Programming to be extraneous cognitive noise.
> 
> Whereas I use OOP a lot. Hugely.

Maybe what I needed early on was a good example of a large, well
designed OO piece of software to use as a role model.  But the large
non-OO systems seemed to be much better (in any number of ways, and
please don't mistake me for implying that all non-OO systems are good)
than the large OO ones.  My habits and opinions are certainly shaped
from my experience.

Namespaces are one honking great idea.  I¹ have modules, you¹ have
classes.  We¹ build software.  Vive la différence!  :-)

> > In other languages (*cough* Java *cough*), there are no functions
> > outside of classes, and static methods fill that role.
> 
> Aye. I agree that is an example where static methods exist for
> language definition reasons instead of functionality. OTOH, the
> language design is deliberately like that to force encapsulation as a
> universal approach, which has its own benefits in terms of side effect
> limitation and code grouping, so there's an ulterior purpose there.

Encapsulation is a good thing, OO or otherwise.  Unless, of course, the
code is behind an HTTP server and I can't see it from the outside.

¹ in the generic sense of the pronoun

-- 
“Whoever undertakes to set himself up as a
judge of Truth and Knowledge is shipwrecked
by the laughter of the gods.” – Albert Einstein
Dan Sommers, http://www.tombstonezero.net/dan
_______________________________________________
Python-ideas mailing list -- python-ideas@python.org
To unsubscribe send an email to python-ideas-le...@python.org
https://mail.python.org/mailman3/lists/python-ideas.python.org/
Message archived at 
https://mail.python.org/archives/list/python-ideas@python.org/message/AGAZ6OEKE2TSNEMSMNCSCSS3EA5G3HIQ/
Code of Conduct: http://python.org/psf/codeofconduct/

Reply via email to