'Separating interface from engine' clashes with the shortsighted 'text is the universal interface' rule.<p>A great deal of Unix prefers the latter to the former - eg, hunting for a regex to identify some data rather than being provided with something which properly separates the data from the presentation.<p>Object pipelining shells (powershell) and higher level shells (ipython) get this right.