Absolutely right. Pharo isn’t perfect, either…
- Pharo is dynamically typed. If you prefer static typing, then Pharo is not for you.
- Pharo’s execution performance falls far behind that of languages like C, C++, Java, and C#.
- Pharo doesn’t support preemptive multithreading the way Go and Erlang/Elixir do.
- Pharo lacks support for separate namespaces.
- Pharo is garbage-collected which makes it less suitable for critical real-time applications.
But like Python, Pharo is very usable for most application domains. I still prefer Pharo over Python.