The author has lots of good points. Because I write most of my Python in the style he is advising against, I recognize that style has issues. The main issue for me is that a dict of dicts of dicts is not an interface. It doesn't have any constraints. It doesn't communicate expectations for use for the actual intent of the code. The best you can do is a comment explaining what to expect and a lot of error checking.
That said, almost all of the python I write these days is in the form of functional transforms on built-in data structures. And I love it!
These are from my notes (the quotes below may be boring but related discussions are good imo):
"My working theory is something like “romanticism/emotionalism vs. abstract rationalism”; if you’re writing something that benefits from immediate experience and emotional input (e.g. Kafka writing about nightmarish bureaucracy after working all day in an insurance firm) then it is better to write at night, after the events of the day have happened and your mind has been operating for 12+ hours."
https://news.ycombinator.com/item?id=18369337
"Classes get in the way between the programmer and the problem. They force you to reify your thinking into "things" (classes) that demand names and citizenship rights, so to speak, in the system. These "things" don't really exist, but we act like they do, and so increasingly see the problem in terms of the classes we've defined."
https://news.ycombinator.com/item?id=3717715
"One thing that I find sorely missing in many teams is onboarding documentation. So when you come in, document everything that you need to do (required permissions, development environment setup, mailinglists, subscriptions) and how to do it."
https://news.ycombinator.com/item?id=17353854
"The real value of Flask is that it makes you appreciate what Django does by default.
When I first started learning Python / web frameworks, I went with Flask because it was smaller and "simpler". As my project grew however, I had to organize it. I was basically imitating what Django gives you by default, though less cleanly."
https://news.ycombinator.com/item?id=16935441
> 1. I did not use classes in Python. That problem could easily be solved using simple functions. The feedback I got was "candidate does not know idiomatic use of modules & classes"
Apparently they missed this classic HN discussion:
The author has lots of good points. Because I write most of my Python in the style he is advising against, I recognize that style has issues. The main issue for me is that a dict of dicts of dicts is not an interface. It doesn't have any constraints. It doesn't communicate expectations for use for the actual intent of the code. The best you can do is a comment explaining what to expect and a lot of error checking.
That said, almost all of the python I write these days is in the form of functional transforms on built-in data structures. And I love it!
There was a great Pycon2012 talk titled "Stop Writing Classes". You can find it linked and discussed here https://news.ycombinator.com/item?id=3717715