Newsgroups: comp.lang.smalltalk
Path: cantaloupe.srv.cs.cmu.edu!das-news2.harvard.edu!oitnews.harvard.edu!newsfeed.rice.edu!bcm.tmc.edu!news.msfc.nasa.gov!newsfeed.internetmci.com!chi-news.cic.net!nntp.coast.net!torn!nott!cunews!dbuck
From: dbuck@superior.carleton.ca (Dave Buck)
Subject: Re: Why is VisualWorks SO complicated?
X-Nntp-Posting-Host: superior.carleton.ca
Message-ID: <DKM6EJ.L59@cunews.carleton.ca>
Sender: news@cunews.carleton.ca (News Administrator)
Organization: Carleton University, Ottawa, Canada
References: <4ccumk$ldv@news2.ios.com>
Date: Wed, 3 Jan 1996 16:42:19 GMT
Lines: 66

In article <4ccumk$ldv@news2.ios.com>, vlad <vlad@gramercy.ios.com> wrote:
>
>WHY IS VW SO COMPLICATED?

Your question presumes that VW is complicated.  I would say that it's
complex rather than complicated.  Let's go on..

>I admit, it is not fault of the Smalltalk syntax. The syntax is
>simple. 

Agreed.

>But what I don't understand is why the VW has it's own windowing
>system? It is a complete nonsense. Why do we have VW classes that
>implement such things like controllers, clipping areas, etc....
>functionality of which you can find in all windowing systems.
>Why, for example, scrollbars implement methods that know how to
>display itself?

I think the answer here is that VisualWorks derives from Smalltalk-80
which basically invented the modern windowing interface.  Back when
Smalltalk was invented, Smalltalk WAS the windowing system.  This is
back in '73. The Xerox PARC team was the first to use overlapping
bitmapped windows.  They used mice (which existed prior to Xerox),
menus, icons, scroll bars etc. long before they became fashionable.
It was Steve Jobs who took the ideas from Xerox PARC and incorporated
them into the Macintosh.  From there, others copies from the Mac or
from Xerox directly to build Windows, OS/2, XWindows, Motif, etc.

So, VW still has a lot of baggage from the days when it had to handle
all of the functionality of the entire windowing system.

>It should be simply accomplished by sending request (be it a function
>call or a message) to the windowing system (for example Windows 95)
> to display our scrollbar. Everything is already implemented in native
>windowing systems, why is that redundant functionality implemented 
>in VW once again? 

It should be implemented that way.  In fact, in an upcoming release of
VisualWorks (3.0), they will provide support for native widgets.
This will allow you to just call the native operating system directly.

The current version of VW implements a lot of the windowing
functionality because it was so difficult to retrofit VW to use all of
the native widgets for all of the operating systems and still have all
the old tools work properly.  I see it as an evolutionary change.

>I am now hearing crowds of people yelling that it is because of a
>multiplatform portability.

Multiplatform portability certainly makes it harder to use native
widgets, but it still doesn't justify simulating everything in
Smalltalk.  As I said, I'm sure that future versions of VW will move
towards native widgets.  It just takes time to make the transition.

David Buck
dbuck@ccs.carleton.ca

_________________________________
| David K. Buck                 |
| dbuck@ccs.carleton.ca         |
| The Object People             |
|_______________________________|



