Newsgroups: comp.lang.smalltalk
Path: cantaloupe.srv.cs.cmu.edu!rochester!udel!news.sprintlink.net!howland.reston.ans.net!ix.netcom.com!netcom.com!sehyo
From: sehyo@netcom.com (Sehyo Chang)
Subject: Re: Smalltalk Points
Message-ID: <sehyoDBxL3K.K93@netcom.com>
Organization: NETCOM On-line Communication Services (408 261-4700 guest)
X-Newsreader: TIN [version 1.2 PL1]
References: <9507172116.AA04233@fred.nfuel.com> <NEWTNews.806054516.23496.sellers@sellers.sellers.com>
Date: Tue, 18 Jul 1995 21:30:56 GMT
Lines: 68
Sender: sehyo@netcom20.netcom.com

John Sellers (sellers@sellers.com) wrote:

: In Article<9507172116.AA04233@fred.nfuel.com>, <t3018@BWC01.NFUEL.COM> 
: write:
: > ...
: > 
: > For quite a while, our organization has struggled with this concept of 
: Point in
: > ParcPlace's Smalltalk....

: No surprise, how the Smalltalk community has traditionally handled 
: graphics is HORRIBLE.  To do it right would be to start from scratch and 
: use a much more systematic approach.  There is no other way around. 

: For 7 years I designed and implemented CAD systems for CTI a subsidiary of 
: Siemens.  Without qualification, Smalltalk goes about it in a very crude 
: way.

: What it would take to do it right are two things:

: 1) Apply the experience that CAD designers and video game designers have 
: been applying for many years.

: 2) Introduce some new concepts which are uniquely OO which would 
: information hide the use of graphics much better than traditional CAD 
: systems do.

: If the Smalltalk companies would do this, there would not be anybody else 
: who could touch Smalltalk in terms of graphics until they caught up by 
: parroting as other environments have done in windows programming since 
: 1980.  Don't forget that in 1980 Smalltalk was way ahead of everyone else 
: when it came to windows.

: I've done some pretty fancy things in Smalltalk with coordinate systems, 
: including widget hierarchy that were scalable and rotatable.  This was on 
: the now obsolete Momenta computer used Smalltalk/V and did some VERY nice 
: things with graphics, including homogeneous 3X3 matrices for the 
: coordinate system (of which I still have the source).  The way they did it 
: was much better than what Smalltalk does now, although if I had my way, I 
: would not do it as they did it.

: An example of the kinds of shortcomings which Smalltalk has in relation to 
: graphics:  SGI has graphics stuff where there is a concept of traversal of 
: nodes.  This has two kinds of context.  One kind of context is at each 
: node, the other kind actually transverses the nodes.  You can structure 
: things so you can do this trick in a graphic application so that you have 
: multiple transversal stacks for various aspects of things.  It is powerful 
: enough to make things like 3d VR stuff straight forward. IT IS MUCH FASTER 
: AND CLEANER THAN THE VISUAL WORKS HIERACHY NESTING OF WIDGITS!!  The main 
: reason this is so is that Smalltalk lacks a sequential context which 
: associates all widgets in a window.  In Smalltalk it is necessary to pass 
: all sorts of things up and down the WIDGET HIERARCHY with little or no 
: independent control except in a very limited sense.  When you can pass the 
: context around to the nodes, you can do everything in the current context 
: without a bunch of redundant traffic.  The transversal mechanism is by its 
: nature log-linear and thus scales well and more efficient than convoluted 
: multiplex threading of a hierarchy.

Current VisualWork 2.0 was modeled after InterView/X11 for sake of
portability. Which means we are using late-80's technology. However,
it works well for what it was designed for(form building,screen design,etc).
And I am sure ParcPlace is working on better framework.
It blows my mind that you should do serious graphics oriented application
using that framework.  Afterall, Smalltalk give you total freedom to
invent anything you wanted, it should you be no problem to create your own
visual hierarchy.

-- sehyo
