2 ms·
> Usually there is no need for private, immutable, or final things because people read docs know not to stray from the public interface. My experience is that
by UncleMeat 4y ago
> Usually there is no need for private, immutable, or final things because people read docs know not to stray from the public interface.
My experience is that this fails as soon as you've got a modest number of users. It only takes one user doing something foolish and now you've got a fight on your hands when you want to change an internal component of your system. And you'll often lose that fight.
- nerdponx 4y agoFair. Perhaps an implicit limiting factor in the Python community is that Python applications tend to be written and maintained by smaller numbers of people concurrently. But I think there is also a strong culture (at least nowadays) of individual developers not fucking with library internals and generally respecting API boundaries. Problems arise mostly with libraries that lack a clear public/private distinction like Pydantic and FastAPI, which is one of the big reasons why I personally think they are (currently) unsuitable for serious professional application development, despite being big winners of the "framework popularity contest" and being excellent tools for rapid prototyping and development of ad-hoc things.