[Idle-dev] IDLE "shell" (was: IDLE interpreter window)

Guido van Rossum guido@python.org
Wed, 08 Mar 2000 09:11:49 -0500


> Another approach maybe would be to add an additional layer between
> the functonality you want to have and the Tk text widget.  In such a
> design it would be easier to change the underlying GUI toolkit to
> something else than Tk, in the case that someone wants to port idle
> to this other toolkit, or for the case that some other GUI toolkit
> evolves to become the defacto standard toolkit of Python.

This is a popular meme: introduce an extra abstraction layer to
isolate you from the GUI toolkit du jour.  It has been hashed to death
many times in c.l.py and elsewhere -- there even was a SIG devoted to
GUIs that did nothing but discuss such designs.

It doesn't work very well, because typically, the GUI toolkit of
tomorrow contains features that aren't in the abstraction layer of
today, and in the mean time the abstraction layer is either
heavy-weight or lowest-common-denominator, and in both cases people
find ways around it out of necessity (performance or the desire to do
things "just like reall apps do").

--Guido van Rossum (home page: http://www.python.org/~guido/)