Response by Brian Bershad

Here's something that's probably way too incomplete for what you are looking for.

I remain pretty skeptical about finding an overarching methodology and framework for something that takes a huge amount of talent to design. Essentially, methodologies exist to let people who don't understand a process or mechanism exploit that mechanism:

You are basically talking about interface DESIGN, which is a hard thing. Most methodologies deal well with EASY things (such as parameter marshalling, squaring sin, etc). Methodologies that deal with hard things (for example, wait-free synchronization, goto-less programming), run the risk of introducing huge overheads (which you may then be able to buy back with some specific meta-extensions, but which wouldn't have existed in the first place had you just coded the thing right), or of being really totally impossible to use (multiple inheritance).

The foil raises a lot of interesting questions, but in some cases relies on examples to motivate an "open" implementation when there exist others that offer alternative motivations. Example: - plan 9 has generic windows that can be used as you describe. Very lightweight. Instant to draw.

The external pager interface is lousy for managing physical memory, but a physical pager interface is just fine.

The point is: an interface and implementation pair may not be inappropriate because they are not "open" but more fundamentally, because they are just badly conceived or implemented. No amount of openness is going to fix that. (example:lightweight windows come to the X-server is not going to get you what you want).

So, what's my position on all of this: I remain skeptical that we will be able to do much more than create a big tent in which everybody's tricks can lined up and viewed. We might discover a few commonalities. I don't think we'll find an overarching methodology and mechanism.

HOWEVER, I am huge believe in the power of positive thinking and I actually would like to see myself shown totally wrong here.

Which is why I am coming to the workshop.

Back to Alphabetical List of Responses

Back to Main OI Workshop Page

Back to OI Home Page


Brian Bershad, bershad@cs.washington.edu

(Last Revised October 1994)