[comp.object] Request for OOPSLA '89 Reports

eberard@ajpo.sei.cmu.edu (Edward Berard) (10/08/89)

Now that OOPSLA '89 is over, I think that it would be interesting to
get some impressions of the conference from the attendees. Obviously,
this will be of interest to those who could not attend, but there are
other benefits as well. For example, even those who attended could not
go to all the tutorials or all the sessions.

Examples of what I am looking for include:

	- impressions of the tutorials (I think that there were 15 in
	  all) 

	- impressions of the sessions and panels

	- impressions of the "birds of a feather" sessions

	- opinions on the products and services offered by the
	  exhibitors

	- over all impressions of the conference

				-- Ed Berard
				   (301) 353-9652

foote@p.cs.uiuc.edu (10/12/89)

*  OOPSLA '89 Impressions

The intellectual Brigadoon that is OOPSLA has appeared and vanished once 
again.  I feel like a python, engorged with ideas, and I will have to crawl
under a bush and estivate for some time to digest them all.  (To be
honest, the food in New Orleans probably has something to do with 
this sense of engorgment too.)

As always, the real marketplace of ideas was in the halls and lobbies.  
Comp.object could do far worse than server as a kind of electronic lobby 
where these sorts of discussions can continue.  So in that spirit, here (in no 
particular order) is a discussion of some of the events and themes at OOPSLA 
'89 that made an impression on me.  This list is, of course, partial, and 
highly subjective...

*  Dave Ungar and Ralph Johnson's Battle of New Orleans

A spirited debate between Dave Ungar and Ralph Johnson over how to 
compile object-oriented programs to make them fast ran through a number 
of workshops, BOF sessions and panels.  Johnson and Ungar offer very 
different, and perhaps ultimately complementary, approaches to the 
problem of how to narrow the relative performance gap between languages 
like Smalltalk or SELF and optimized C.  Ungar's approach employs a 
technique called customization to retain source level typelessness while 
generating efficient code.  Johnson's group uses explicit type declarations 
along with a type inference system to achieve the same end.  

This work raises the tantalizing prospect that we really can have our cake 
and eat it too.  That is, that we can use pure object-oriented languages like 
SELF or Smalltalk without paying a draconian performance penalty.  In 
keeping with OOPSLA tradition, perhaps the principals will have a Treaty of 
Ottawa prepared for consideration by the time OOPSLA/ECOOP '90 rolls 
around.

They ran so fast that the hounds couldn't catch 'em...

*  The Emergence of CLOS

Though CLOS (the Common Lisp Object System) has been in the works for 
several years, one got the sense that it took its place as a full member of 
the object-oriented pantheon this year.  Since Common Lisp with CLOS is a 
hybrid object-oriented language, it retains the low level efficiency of 
compiled Common Lisp.  Since CLOS is now part of Common Lisp, Common 
Lisp has now become the only DoD approved object-oriented programming 
language.  CLOS may succeed in luring people who have avoided Common 
Lisp for whatever reasons into using it.  I know it has had that effect in my 
case.  

Judging from the presentations at OOPSLA, the controversy over whether to 
pronounce CLOS as Klaus or C-LOSS seems to be being resolved in favor of C-
LOSS (as in what the Spanish Armada suffered, or what one goes to Wrigley 
Field to do.)

*  Vox Populi

The theme that there is a pressing need for realtime garbage collection and 
persistent object bases ran through an number of talks and sessions.

*  The Official ECOOP Joke

The old joke about where a 500 pound gorilla goes when he's hungry ends 
with the punchline:  Anywhere he wants.  At ECOOP '89, Peter Deutch 
related, the joke was that C++ is the object-oriented world's 500 pound 
gorilla.  C++'s dominance among object-oriented programmers in industry 
seems to be taken for granted now...

*  The Tortoise and the Hare

There seems to be a pervasive fear that mediocre standards may entrench 
themselves before good ones have time to evolve.  For example, one can 
make the case that arresting the evolution of network standards and settling 
on TCP/IP is a good thing since it gets us most of what we need now, at the 
expense of having to live with a complex, top-heavy design.  What's more, 
networking is usually buried in the system in such a way so that we needn't 
be overly concerned with how it is internally structured.  However the 
competion among libraries and frameworks that are highly visible to the 
programmer and intended as platforms for reuse may be another story.  
Deutsch raised the possibility that the battle for the role of defacto 
standard among utility class libraries, windowing systems, and high level
frameworks would make disputes over what language is best pale by comparision.

My hope is that object-oriented consumers won't commit themselves to 
mediocre standards prematurely.  My fear is that they will have no choice.

*  Workshops

Here, in keeping for Ed Berard's solicitation of reports on the various 
tutorials, panels and workshops, is a very quick set of impressions of the 
ones I was involved in...  

*  Dave Ungar's Objects without Classes Workshop

This workshop concluded that object-oriented langauges should get rid of 
classes and replace them with objects (prototype and trait) that are a lot 
like classes, only better.  It's hard to argue that Ungar and Smith's SELF 
isn't the state-of-the-art in elegance and simplicity as far as 
object-oriented architecures go.  Some of us tried anyway...

*  John Mason's Reusable Component Marketplace Workshop

This workshop was structured as a discussion rather than a series of 
presentations, and managed to arrive at a concensus before it was over.  It 
distinguished between reusable components and frameworks, and examined 
the problems involved in trying to peddle white or black box versions of 
either.  

We agreed that consultants working in restricted domains should 
have no trouble applying frameworks to the kinds of problems they face.  
We agreed as well that it would seem that the market for reusable 
components should be a large one, but that no one has demonstrated its 
viability as yet.  There seemed to be a sense that the big $ lies outside the 
realm of programming tools and utilities.  However, programming support 
niches should provide a comfortable living for a more than a few firms.  

There was agreement as well that documentation is of paramount 
importance, particularly when white box components or frameworks are 
sold.  Hypertext and literate programming tools would seem to hold a lot of 
promise in addressing this need.

Two participants pointed out that the lifecycle of object-oriented entities 
seems to be different from that of conventional ones, and that efforts to 
design for posterity up front seemed to be folly  Initial designs should be 
thought of only as prototypes.  It is only after a successful component has 
been reused several times that the internal structure of the emerging 
solution can be discerned.  This is when the class hierarchy should be 
consoldated, and when truly reusable abstract classes emerge.  

*  The Reflection and Metalevel Architecures BOF

I haven't finished digesting this one yet.

*  The Single Most Impressive Thing at OOPSLA '89

I've developed a habit of asking people on the last day of the conference 
what the single most impressive thing they've seen (by any set of criteria 
they care to choose) is.  This year I must have asked about 30 people this 
question.  The answer I got about 70% of the time (I wish now I'd kept 
count):  Ungar and Chamber's SELF stuff.  This work was skillfully presented, 
and impressively demonstrated.

A few of the other answers I got:

Trygve Reenskaug's literate programming tools
Smalltalk V/PM
Peter Wegner's keynote address
Ungar's workshop (Objects w/o Classes)
Mason's workshop (Reusable component marketplace)
The Can We Have Our Cake and Eat It Too Panel (Ungar/Johnson/Stemple/Moss)
Beck and Cunningham's Paper

My own picks:

Single Most Impressive Thing I Saw at OOPSLA '89:

1)	Bjorn Freeman-Benson's 20 story, four or five loop paper airplane 
flight through the Hyatt atrium into one of the elevator shafts.

Runners up:

2)  	The SELF Stuff
3)  	Georg Heeg's X Server in Smalltalk-80

Favorite papers:

1)	Ferber:  Reflection in Class-based O**2 languages
2)	Tomlinson/Singh:  Enable Sets
3)	Maloney/Freeman-Benson/Borning:  Thinglab revisited

Brian Foote
Dept. of Computer Science
University of Illinois at Urbana-Champaign
foote@cs.uiuc.edu