https://forum.world.st/Can-Pharo-meet-all-your-computing-needs-tp4774250p4774426.html
For Emac and Pharo is common practice to build a monolithic environment where everything is reimplemented. Emacs has its own email client, git client, command shell, irc client etc etc. But then this lead me to ask the question "Why fight them when you can join them" .
The problem with existing solutions , however clumsy , inconvenient and uncool they are. They are just that, solutions.
I get how Alan Kay disapproves of modern iPads and many other modern technologies BUT his dynabook is vaporware. However emacs and pharo are cool and powerful they cannot compete with those specialised tools that have been in development in some cases for decades .
So that led me to my second question "Why fight them , when you can join them ?" which is why it started with emacs eshell and ended up with Xterm2.
However still missing all the coolness of Pharo and the language and the tools it has triggered a new question "why join when you can enslave them ?". Parasites after all are difficult to like but they happen to be one of the most powerful organisms on this planet and they are very efficient ,like viruses.
So now I am exploring the concept of how Pharo can control all these apps without me having to reimplement these apps in Pharo which is just an insane amount of work to code and maintain. In my case it was not difficult to reach this conclusion since reimplementing Blender in Pharo would be an insane if not impossible amount of work for a single developer. At first I was very sceptical trying to use sockets as a way to control Blender but now I see this actually can work very well. It has its limitations but its light years easier and more efficient than the alternative.
It raises some interesting questions, how Pharo can control gmail, or thunderbird, or irc client like mirc and KVIRC and XChat, or the web browser (amber could play a very important role here) or many thousands of apps out there. We certainly have the libraries to do this.