Craig Ringer wrote:
On Tue, 2004-12-14 at 16:02, Mike Thompson wrote:
I would pick the publication of "Design Patterns" in 1995 by the Gang of
Four (Gamma, Helm, Johnson, and Vlissides), to be the herald of when "the
Joy of OOP" would be "widely known." DP formalized a taxonomy for many of
the heuristics that had evolved only intuitively up until then. Its
emergence reflects a general maturation of concept and practice, sufficient
to say that the Joy of OOP could be said to be "widely known."
In actual fact, virtually all the design patterns came from the
Interviews C++ GUI toolkit written in the early '90s. What an utterly
brilliant piece of work that was.
As somebody who has just been bowled over by how well Qt works, and how
it seems to make OOP in C++ work "right" (introspection, properties,
etc), I'd be interested in knowing what the similarities or lack thereof
between Qt and Interviews are.
Qt provides widgets that a client app. can compose into a GUI.
InterViews provides 'glyphs' [*] that form a scene graph in a display
server. Although InterViews usually was compiled into a client-side
library, it provided all the functionality required by a display server
such as redisplay and pick traversals. Indeed, the X Consortium
supported InterViews (and its successor Fresco) for a while as the next
generation for its 'X Windowing System', until it was dropped (for
mostly political reasons, as usual) about '95.
(Fresco had been nominated, together with OpenDoc, as candidates for an
'Compound Document Architecture' RFP on the Object Management Group.
OpenDoc won.)
[*] The term 'glyph' reflexts the fact that the scene graph nodes in
InterViews are extremely fine-grained, i.e. glyphs can represent
individual characters or elements of vector graphics such as paths.
That's unlike any conventional 'toolkit' such as Qt, where a 'widget'
is quite coarse-grained, and the display of such 'widgets' is typically
not that of a structured graphic, but procedural.
Regards,
Stefan
--
http://mail.python.org/mailman/listinfo/python-list