I consider to start using emacs for IRC, SQL, Shell and maybe twitter and Feed reading. But than I wonder how power users of emacs deal with emacs being single threaded.
So if I have one long-running task, like updating melpa packages, I can not switch to IRC, because emacs is blocked, isn't it?
And by the way: Emacs is one global beast. In programming I try to encapsulate functionality and shield one component from unintentionally breaking the other.
Emacs is configured as one piece and I already experienced how one minor mode interacts terribly with another one.
Or is it best practice to have different emacs processes and configurations for different tasks like IRC, email, etc?