AFAICT the big benefit of Pharo is on-the-fly introspection and the tooling to support dynamic introspection.
quick q: I can see the benefit for creating developer tools like the IDE and maybe for creating domain specific languages (DSLs)... but what "regular" applications benefit from this?
in particular, I can see (widespread use of...) introspection making it difficult for a developer of one large Pharo codebase to understand and maintain a different Pharo codebase...
also, Python has (arguably) "good enough" introspection and DSL support and mindshare/marketshare of millions of developers. When is python not good enough?
There are a lot of cases where good enough is actually good enough. Python, Java, C#, Go, TypeScript, they are not 'pure enough' to 'too OOP' for some, but at the end of they day, they are good enough to realise the potential that the business process they support requires.
quick q: I can see the benefit for creating developer tools like the IDE and maybe for creating domain specific languages (DSLs)... but what "regular" applications benefit from this?
in particular, I can see (widespread use of...) introspection making it difficult for a developer of one large Pharo codebase to understand and maintain a different Pharo codebase...
also, Python has (arguably) "good enough" introspection and DSL support and mindshare/marketshare of millions of developers. When is python not good enough?
(asking innocently - please don't shoot)