[IPython-dev] Fwd: [SciPy-User] ANN: IEP 3.0.beta - the Interactive Editor for Python
Sun Apr 22 15:50:53 CDT 2012
On Sat, Apr 21, 2012 at 2:40 PM, Almar Klein <email@example.com> wrote:
> It's been a while since I looked at some code or docs of IPython, so please
> correct me if I'm wrong. IPython, being historically only an interpreter, is
> very kernel-centric; most of the smartness is in the kernel, and the
> "clients" are relatively thin. IEP comes from the other direction; most of
> the smartness is in the IDE, and the kernel is made to be as small and light
> as possible.
Well, it's not so much that the clients are thin (both the Qt console
and the notebook are fairly complex in their own right), it's rather
that the clients can be very *different* and yet they can all work
with the same kernel (in fact, they can do it simultaneously).
For this to work, there has to be a very strong separation between
what's the job of the kernel and what's the job of the clients, and it
does mean that we put a ton of the functionality in the kernels
themselves. For us, the kernel does everything related to code
execution and managing the namespace itself, while the clients expose
a *workflow* against that kernel. That workflow may be quite
different for each client, but they all share many features thanks to
those features residing in the kernel.
I think your intuition was correct, I just want to clarify our perspective.
And thanks for the details on your design, it's always useful to
compare takes on a similar problem. And additionally, while yoton
being in pure python will impose some limitations (performance, GIL),
it also makes it very appealing for easy deployment in scenarios such
as GAE, as Jason points out.
More information about the IPython-dev