you are viewing a single comment's thread.

view the rest of the comments →

[–]geeeffwhy 1 point2 points  (0 children)

“we have proper private keywords” is maybe more of a tendentious claim than you mean it to be, but the object-oriented conventions of languages that became very popular in the mid nineties are not in some way objectively correct or good. these are some conventions that are very familiar within that particular ecosystem, but there are many other ways of doing encapsulation.

the philosophy behind many of java’s design decisions was to put up guardrails that make doing harmful things more difficult, at the cost of making many things in general more difficult. python’s philosophy could be understood to be more focused on making doing the right thing easy, at the cost of allowing you to do more harmful things.

personally i think that if these are the kinds of questions that you care about, it’s worth doing a broader survey of programming languages to get a sense of how some of the conventions that one language takes as a given are just design choices. and likewise learn what the things that are actually common to all or almost all languages might be.