Subject: Object Oriented Programming in NeWS

From: [email-masked]
Date: Mon, 30 Mar 87 13:23:33 EST

Date: Mon, 30 Mar 87 09:44 EST
From: Robert Scheifler <[email-masked]>
Subject: Object Oriented Programming in NeWS
To: [email-masked], [email-masked]

[Are there only three people on this list?]

    Date: Fri, 27 Mar 87 22:31:49 EST
    From: Don Hopkins <[email-masked]>

    Yo modem! Dat's right! I said yo modem! c(-;

Touched a nerve, have I?

    Well wake up and smell the coffee. PostScript, which grew out of
    Xerox's Interpress, is a very well developed language, hardly designed
    by afterthought.

I was not talking about PostScript, but about the OOP extension to it,
which was in neither the original conception of PostScript nor the
original conception of NeWS.

				  So how many pages of code does it take
    to implement Flavors for the Lisp Machine?

I personally don't care; end productivity is what counts.  However, I
think you would find that large chunks of the code go toward aspects
(like compiled code) that are completely missing in PostScript and NeWS.
Switch togglers complained about assemblers, and assembly language hackers
complained about compilers, so complaints about something like Flavors don't
surprise me.

    Smalltalk message passing is a whole lot cleaner than Lisp Machine Flavors.

A good topic for debate, but not on this mailing list, and somewhat irrelevant
to the main point.  I was fairly careful to talk about OOP in general, not a
particular religion of it.  Flavors has been around quite a while now; as with
any mature system, one expects both a wealth of functionality and a respectable
amount of chaff.  Certainly there are things wrong with Old Flavors; there
wasn't much else around at the time to show right from wrong.  There are still
things wrong with New Flavors; nobody's perfect.  There are still things wrong
with Smalltalk; my understanding is that there is an effort underway to revise
the language.

    Can you name any laser printers that understand Smalltalk? PostScript
    is a standard page description language.

No, but I can name many printers that don't understand PostScript.  (In fact,
I can name many programmers that don't understand PostScript. :-)  As you
put it so well, PostScript is "a" standard, not "the" standard.  In just the
same way, core X graphics will be at most "a" standard; we certainly expect
things like GKS and GKS-3D and PHIGS and PHIGS+ (and PostScript) as X extensions.
How many laser printers understand those?  Desktop publishing covers lots of
ground, but it is not all there is.

    I am curious: how is it that you think object oriented programming
    could hinder the maintenance of a stable interface? The X Toolkit
    certainly takes an object oriented approach!

That's not what I meant, I meant (as below) that NeWS could easily have shipped
initially without an OOP interface, and a later conversion to OOP would probably
have been painful.  And personally, I think the X Toolkit will evolve considerably
with time.

       Suppose Sun had taken a few more months to discover this hack, and
       NeWS had shipped without it?  What happens when they come up with a
       better class hierarchy?

    For some reason, I don't think Sun would quite have the chutzpah to
    claim that they "discovered this hack" called message passing.

The "hack" I meant was figuring out how to do it reasonably with a small
amount of code, certainly not the semantic ideas.

    With NeWS, you only have to download the code that you want, when you
    need it. It doesn't have to be already linked into the server, as with
    X. This lack of power probably won't price X out of the low-end
    terminal market.

There is no statement anywhere that extension code has to be already linked
into an X server.  A lisp-based X server might very well load code on the fly,
and a C-based server might also, if C implementations were only up to it.