Linux-Development-Sys Digest #775, Volume #6      Fri, 4 Jun 99 01:14:28 EDT

Contents:
  Re: bootinfo.h missing for make dep (Paul Kimoto)
  Re: kernel vs egcs vs PentiumPro/II (Paul Kimoto)
  Re: Performance Counters and APIC. ("G. Sumner Hayes")
  Re: the ultimate OS ("G. Sumner Hayes")
  Re: TAO: the ultimate OS (Vladimir Z. Nuri)
  Re: TAO: the ultimate OS (Vladimir Z. Nuri)
  Re: What are the differences between mySQL and mSQL? (Don Baccus)
  lilo 2.1 install ("Dale Benjamin")
  Re: TAO: the ultimate OS ("G. Sumner Hayes")
  kernel vs gcc-2.95 (Conrad Sanderson)
  Re: What are the differences between mySQL and mSQL? (Don Baccus)
  Re: kernel vs egcs vs PentiumPro/II (Horst von Brand)
  How to get all PID ? ("Soohyung Lee")
  Re: kernel vs gcc-2.95 ("G. Sumner Hayes")
  Re: Compiling kernel w/ other than gcc (Paul Kimoto)
  Re: TAO: the ultimate OS (Christopher B. Browne)

----------------------------------------------------------------------------

From: [EMAIL PROTECTED] (Paul Kimoto)
Subject: Re: bootinfo.h missing for make dep
Date: 3 Jun 1999 11:48:02 -0500
Reply-To: [EMAIL PROTECTED]

In article <[EMAIL PROTECTED]>, Jonathan DelStrother wrote:
> OK, I'm attempting to get sound support in the Redhat 5.2 kernel, so, go
> to src/linux/drivers/sound, make config, go through all of that stuff...
> Right, that seemed OK, so - make dep.  I get an error message:
> dmasound.c : 81 : asm/bootinfo.h  : no such file or directory

You need a symbolic link from /usr/src/linux/include/asm to
/usr/src/linux/include/asm-i386 (or whichever architecture is
appropriate).

This should be done for you if you go to the top-level kernel
source file (/usr/src/linux) and run "make config".

> O yeah - while I'm here, say I want to create a script....
> create a new file, add the #!bin/sh bit at the top (I've forgotten
> exactly what it is, but anyway-) add in some commands (eg echo 'hi'),
> save the file, do 'chmod +x thisfile', type in thisfile at the console,
> & it says file not found (or is it command not found??...damn - I'll
> have to go back and check).  Whatever it is, is this the way you're
> supposed to produce & run a script? 

Yes, and "#!/bin/sh" is correct.  But you have to make sure that
"thisfile" is in the PATH.  Often "." (the current working directory)
is not in the PATH (for security reasons).

-- 
Paul Kimoto             <[EMAIL PROTECTED]>

------------------------------

From: [EMAIL PROTECTED] (Paul Kimoto)
Crossposted-To: comp.os.linux.development.apps
Subject: Re: kernel vs egcs vs PentiumPro/II
Date: 3 Jun 1999 11:36:59 -0500
Reply-To: [EMAIL PROTECTED]

In article <7j55l2$6g9$[EMAIL PROTECTED]>, Matt Bartley wrote:
> Some time ago I read about a command line option to gcc and/or egcs,
> similar to "-v" but more verbose, which among other things shows all
> the the "-f<optimisation>" flags which are in effect at the current
> "-O" level.

This (undocumented) option is "-Q -v".

(I have read [maybe on the egcs mailing list?] that the "-O" options
turn on some optimizations beyond those specifiable by "-f" options.)

-- 
Paul Kimoto             <[EMAIL PROTECTED]>

------------------------------

From: "G. Sumner Hayes" <[EMAIL PROTECTED]>
Subject: Re: Performance Counters and APIC.
Date: Thu, 03 Jun 1999 22:47:37 -0400

Guillaume Thouvenin wrote:
> 
> I would like to implement the management of performance counters
> interrupts on a Pentium Pro. I encounter the following problem:

Richard Gooch has some patches to provide a device driver interface
to the performance counters.

Try http://www.atnf.csiro.au/~rgooch/linux/kernel-patches.html

--Sumner

------------------------------

From: "G. Sumner Hayes" <[EMAIL PROTECTED]>
Crossposted-To: alt.os.linux,comp.os.linux.advocacy,comp.os.misc,comp.unix.advocacy
Subject: Re: the ultimate OS
Date: Thu, 03 Jun 1999 22:49:00 -0400

"Vladimir Z. Nuri" wrote:
> 
> G. Sumner Hayes ([EMAIL PROTECTED]) wrote:
> 
> : The problem, though, is that we see a new design for a new ultimate
> : OS here every 3 months or so.  They're often nearly identical to
> : what you propose.  Almost none of them go on to write a single line
> : of code, and not a single one has reached the "usable OS" state, let
> : alone even come close to a "as good as MS-DOS" state (yikes!).
> 
> hmmm, maybe it makes sense to ignore people like that.

Okay, I shall.

--Sumner

------------------------------

Crossposted-To: alt.os.linux,comp.os.linux.advocacy,comp.os.misc,comp.unix.advocacy
From: [EMAIL PROTECTED] (Vladimir Z. Nuri)
Subject: Re: TAO: the ultimate OS
Date: Fri, 4 Jun 1999 03:30:32 GMT

we have the classic chicken and egg problem. I admit
such a problem exists. "why should anyone else write
code if you are not writing code". all I can say is
that there is an obvious fallacy to this line of thinking.

again I point out I am designing memes, not code. code
derives from memes, no matter how much the hacker ethic
wants to equate nonprogrammers with idiots. and btw,
I am a programmer, like I say, I sympathize with this
position, and have been subject to my share of
useless or overzealous marketing/sales departments myself.

to those who object to the essay on no other grounds
other than that there is no code, I have very little
to say to you, except that your point of view is 
pretty meaningless. its like saying, "nothing is going
to happen until something happens".. hahahah  but
thanks for the brilliant insight.  its quite Taoist<g>

perhaps having lots of multiple designs posted and
never implemented is totally appropriate. perhaps instead
of p***ing on each new post merely because it dosn't
have a mime-enclosed C code implementing the idea,
people should see it as a natural evolutionary process of ideas.

the lack of patience here is really a bit unsettling to
me, but I don't care, I can flame as well as the next
guy<g>  .. speaking of evolutionary strategies, I practice
"tit for tat"<g>

: Existing code trumps "cool ideas that may never be implemented."

cool ideas trump nothing at all. flames against cool ideas not
having any accompanying code are worth less than a pair of
deuces, imho.

: Systems that haven't been implemented can't do useful work...

systems cannot be implemented coherently without a coherent
vision grounding them. does linux repesent a coherent vision? NO. 
does it need to, to advance further? YES. does the linux
community have a blind spot about this need? YES. does it
have to be my vision? NO.

all action springs out of thought/memes. go ahead and
p*** on the memes as much as you want.  judge the
essay not by the present, but by the future. "those with
no imagination can only envision the future in terms
of the present/past. to those with imagination, the
present/past are irrelevant".. its frightening how little
imagination exists in our world at times, don't you think?

-- 
~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^
"in theory, there's no difference                            [EMAIL PROTECTED]
between theory and practice,                           mad genius research lab
but in practice there is!"                       http://www8.pair.com/mnajtiv/

------------------------------

Crossposted-To: alt.os.linux,comp.os.linux.advocacy,comp.os.misc,comp.unix.advocacy
From: [EMAIL PROTECTED] (Vladimir Z. Nuri)
Subject: Re: TAO: the ultimate OS
Date: Fri, 4 Jun 1999 03:20:49 GMT

Ross Combs said it was OK to post this, he says his new
server seems to munch his posts.. thanks Ross
will reply in followup message


From: Ross Combs <[EMAIL PROTECTED]>
Subject: Re: TAO: the ultimate OS



This reply turned out to be longer than I planned. Here is a summary:
 1) You had some good points
 2) Sorry Alexander was so rude
 3) Why I think he made those remarks
 4) Projects that might tie-in


I have read through you article posted to comp.os.linux.development.system.
I agree with most of your ideas. Especially the "philosophy" stuff, that is
one thing that people tend to forget, so the system starts to feel like
something that has been taped together from parts rather than being the
simple, clean, and obvious way of doing things. Many supporting statements,
examples, and the absolute tone are places where I didn't agree as much.


I also read the reply from A. Viro. He does a lot of nice clean work on the
Linux kernel so I was surprised to hear him be so rude. That is a response
that I have seen some of the Linux hackers like Alan Cox and Dave Miller use
before. I think they do it when they don't expect a project to go anywhere
and want to stop the (likely cascading out of control) discussion in what
might be an improper forum. I guess he is right that there is no code... but
things have to start somewhere, and coding isn't usually the best place.  It
would have more validity if this had been around as a project and essays
were all it was producing. There is some still logic to his argument,
though, especially when you consider the how well many of the Linux
developers use code as a primary means of communication. 


I can also understand how he might categorize you this way. Many, many
people have posted "designs", or "plans", or calls for volunteers on what
basically boil down to wish lists. Many of these lists are not even self-
consistent. I do, however, believe that there is the real "essence" to your
essay which shouldn't be 

It may have come across that way because you used pie-in-the-sky words like
"ultimate", buzzwords like "plug-and-play" (which have a natural meaning and
a "tainted" meaning), and phrased statements about the system as if it
already existed:

   In Tao the installation process and deinstallation process of any
   component is absolutely foolproof. Often in Win95, errors arise during
   installation or de-installation that leave the entire system in a
   "half-baked" state. In Tao there are no prompts at either installation
   or deinstallation, the entire process is always completed as a whole
   without further interruption.

This is a great _goal_; it should probably be phrased as such. Many people
are picky about phrasing and factuality (including me). I often like to
play "the devil's advocate" both in my mind and out loud. It is easy to
think of situations where it is impossible to guarantee this:

  * poorly designed hardware
  * unsupported hardware
  * software bug
  * hardware failure

You may argue that the hardware must be redesigned. I don't know how
 realistic that is. It is very hard for MS to get hardware vendors to do
 things their way... so why would they listen to some startup OS?
You may argue that all hardware may be supported by the vender, but that is
 also not realistic. Often Windows NT drivers don't come out for hardware
 until well after it has been released.
I don't see how you can argue against the existence of bugs :)
Hardware may be made redundant but there is always a chance.

Nothing can be perfect or completely foolproof have any significant amount
of complexity. Usability, flexibility, and being foolproof are not mutually
exclusive, but they are not orthogonal either.


Well, I don't mean to dwell in little details. I have made many statements
like yours, but mostly talking to my friends and not on Usenet. We like to
talk about how we would like things to be. We have hashed out plans for:
  * An object/component architecture which is very focused on interfaces.
    (But not horribly implemented like COM). We have been trying to figure
    out nice ways to make it network-transparent with minimal impact on
    use of pointers/references.
  * A nice object oriented language (basically SmallTalk like in philosophy,
    C-like in syntax, and very clean unlike C++)
  * A rendering engine that is scary to talk about... it would be able to do
    things like polarization, interference patterns, fluoresce, etc. Very
    object oriented.
  * A Linux distribution with our own shell, window manager, and many apps.
    One of my friends is very inspired by BeOS and MacOS. He does see the
    fundamental simplicity in Unix as well as the resulting reliability and
    power. We would like to combine all these features.
  * Plans for devising a license agreement to create small groups of people
    who work on projects together. Similar to a company. This thinking was
    partially inspired by http://www.elj.com/lss/lss.html
  * Lots more :)

Our component architecture philosophy is very similar to the philosophy in
your Tao OS. We continually fought with the idea that it should be an OS or
not. We decided that it was best for it not to be. The reasoning was
something like this:
 * object orientation is the best method we have for dealing with
       complexity because it is the most complete form of abstraction
 * software is too monolithic to be easily modified, and without
       source code, all a user can do is modify settings
 * both Apple and MS had ideas on how to fix it
 * Apple made OpenDoc and their publications said all the right things,
       but when it came down to the actual product, it was really not at
       all flexible (basically nested rectangles like OLE)
 * MS came up with COM which also said some good things (it stressed
       the idea of the interface), but it was really a low-level
       standard (even though they claim it is ultra-portable, it depends
       on the vtable format used by the compiler)
 * one problem with a whole sea of objects is that the complexity
       hasn't really gone away... it moved into the interactions
       between the objects
 * oh wait... structured programming had a solution for that already,
       why do people forget to use it: layering
 * by defining a narrow interface between groups of objects, you
       get extra abstraction, like the Unix "everything's a file"
       philosophy where program interaction with the kernel boils
       down to read() and write(). (bad example though, with ioctl(),
       sockets, IPC, etc, the number of system calls keeps growing...)
 * so why don't we break our component architecture into layers
 * oh wait... the bottom layer is what the OS is doing already

We were basically going to just use the OS for drivers, scheduling, and
resource allocation. We would abstract off everything else in our lowest
layer so that all other components would see nothing but components.

I understand that your project is more ambitious: you would like to change
the way even drivers work. But really, we felt at that level, things
were better handled by another kind of program because there is little room
for overhead there... sometimes not even function calls. Good abstraction
may amount to macros that hide the scary bit-twiddling. Add to that a
neverending stream of hardware to support... we figured that someone else
could deal with that :)

I don't want to bore you with any other details about our projects, but I
wanted to mention that many of your ideas look familiar and that I have been
thinking about such things too.

Best of luck!
-- 
~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^
"in theory, there's no difference                            [EMAIL PROTECTED]
between theory and practice,                           mad genius research lab
but in practice there is!"                       http://www8.pair.com/mnajtiv/

------------------------------

Crossposted-To: 
comp.os.linux.development.apps,comp.os.linux.misc,comp.os.linux.setup,comp.lang.java.databases
Subject: Re: What are the differences between mySQL and mSQL?
From: [EMAIL PROTECTED] (Don Baccus)
Date: 3 Jun 1999 09:24:00 PST

In article <[EMAIL PROTECTED]>,
Paul D. Smith <[EMAIL PROTECTED]> wrote:

>I'm talking about "free speech", not "free beer".  MySQL is much more
>free than Sybase, since it comes with complete source code, permission
>to modify it, etc.

On the other hand, Sybase is a proven enterprise-class database
engine...

If you're serious about using a database in a critical environment
(say, where money's being tracked) you'll be glad that MySQL comes
with source because you'll be rewriting it to be transaction-based...
-- 

- Don Baccus, Portland OR <[EMAIL PROTECTED]>
  Nature photos, on-line guides, at http://donb.photo.net

------------------------------

From: "Dale Benjamin" <[EMAIL PROTECTED]>
Subject: lilo 2.1 install
Date: Thu, 3 Jun 1999 20:09:11 -0700

Just got lilo 2.1 installed on my old 486 system, 1.2 gig hdd with msdos 6,
drdos 7, and redhat 5.2.  It seems to be working fine, neither dos sees the
other.

Thanks.

One little surprise was with the Makefile.  There was a '#' in front of the
REWRITE TABLE entry, I figured that commented it out and removed it, but it
wouldn't compile.  Put it back in and it did, and when I ran it on a
lilo.conf with set = dos16_big_hidden tye oif lines, it installed just fine;
unlike lilo 2.0 which terminated with a 'this was compiled without REWRITE
TABLE enabled'.





------------------------------

From: "G. Sumner Hayes" <[EMAIL PROTECTED]>
Crossposted-To: alt.os.linux,comp.os.linux.advocacy,comp.os.misc,comp.unix.advocacy
Subject: Re: TAO: the ultimate OS
Date: Fri, 04 Jun 1999 00:13:10 -0400

"Vladimir Z. Nuri" wrote:
> again I point out I am designing memes, not code.
[SNIP]
> perhaps having lots of multiple designs posted and
> never implemented is totally appropriate.
[SNIP]
> people should see it as a natural evolutionary process of ideas.

But as I've been saying, you aren't designing memes.  There's no
evolution.  You're repeating things that have been thoroughly
discussed in the HCI community and not adding anything new.  If
you have no new ideas and no new code, you're just evangelizing --
that's fine if you do it effectively, but judging from the reaction
you're getting you need to change your approach if you really want
to convince people.

I still think you need to take some basic HCI courses or at least
read the literature before you try to tackle these issues.  You may
not agree with what people say -- they don't agree with each other --
but there are many of them out there who have expressed the same
ideas you're talking about more eloquently.  They've even backed them
up with studies, written code, and evolved past many of these points
or found particular implementation difficulties that you'll want
to address.  

For example, do you understand why there was a boom in object 
databases (like you propose for the filesystem) about 5 years ago 
and why people have become much less interested in the idea today?  
Or the FS approach that Beos took?  Do you understand the difference 
between the object models in C++, Python, and Smalltalk?  How about 
signatures?  Information-flow (leaving that term nebulous) interfaces 
as an alternative to object-oriented (idem) design?  

Just screaming "make it all object oriented!" is worthless.  It's
not even clear what you mean by object oriented, but if you mean
bundling data and code tightly together then there's a pretty
strong consensus among HCI researchers that that is a terrible way 
to design a system if you're worried about the end user being able
to do what he's trying to do without a fuss.

There are conventions, CS departments, and an ACM SIG dedicated
to the general topic that you're trying to tackle.  Attacking
the problem without understanding even the basic research of the
last 20 years is foolish.  I'm not about to give an HCI course
on Usenet, but CHI and Carnegie Mellon's HCI institute are good 
starting places that link to other sites and a good number of papers.

http://www.cs.cmu.edu/afs/cs.cmu.edu/user/hcii/www/hcii-home.html
http://www.acm.org/sigchi/

--Sumner

------------------------------

From: [EMAIL PROTECTED] (Conrad Sanderson)
Crossposted-To: comp.os.linux.development.apps
Subject: kernel vs gcc-2.95
Date: 4 Jun 1999 03:44:43 GMT

Got rather intersted in the new features in gcc-2.95 (egcs 1.2)
and in http://egcs.cygnus.com/spill.html found this little oddity:

"One side effect of Bernd's work is that incorrect asms which explicitly
clobber a register that is also mentioned in the inputs/outputs for the
asm will always generate an error on all ports.  This is going to cause
linux kernels to fail to build on x86 processors until the linux kernel
developers fix the asms in the linux kernel."

I've heard some noise that latest egcs CVS snapshots do not compile 
the kernel properly - is this the cause or are there deeper issues
at work here ?



------------------------------

Crossposted-To: 
comp.os.linux.development.apps,comp.os.linux.misc,comp.os.linux.setup,comp.lang.java.databases
Subject: Re: What are the differences between mySQL and mSQL?
From: [EMAIL PROTECTED] (Don Baccus)
Date: 3 Jun 1999 09:29:09 PST

In article <xeo53.5931$[EMAIL PROTECTED]>,
Jon Smirl <[EMAIL PROTECTED]> wrote:

>Oracle and Informix and also offering free versions of their engines for
>development purposes only. Expect a big bill ($10-50K) from them when your
>app goes live.

Not quite that bad, Oracle wants about $6K, and if you can
convince them that your web site's low traffic and will only
have five connections at a time you should be able to get
away with the $1400-ish 5 user base license (their cheapest).

All these commercial engines are total overkill for most of
us doing database-backed sites, though and come with 
significant administrative overhead.  

Postgres is easy to use, still too flakey, but getting better
and is transaction based.  As it continues to mature, it
should be a good choice for the kind of smaller db-backed
web sites you'll likely run on an x86/Linux box.

Meanwhile, MySQL seems like a good choice if you don't
need the transaction model.
-- 

- Don Baccus, Portland OR <[EMAIL PROTECTED]>
  Nature photos, on-line guides, at http://donb.photo.net

------------------------------

From: [EMAIL PROTECTED] (Horst von Brand)
Crossposted-To: comp.os.linux.development.apps
Subject: Re: kernel vs egcs vs PentiumPro/II
Date: 3 Jun 1999 15:53:26 GMT

On 3 Jun 1999 03:43:00 GMT, Conrad Sanderson <[EMAIL PROTECTED]> wrote:
>Juergen Heinzl <[EMAIL PROTECTED]> wrote:
>>All the best ... no problems here, usually using -Os instead
>>of -O2 for all the stuff, so at least your chances to survive

>what is -Os ?

Optimize for space, not speed. This screws up parts of the kernel, as they
assume certain functions to get inlined.

>>I've seen and tried code that broke without -fno-strength-reduce
>>up to and including egcs-1.1.2; -fschedule-insns and -fschedule-insns2
>>are two options to avoid like hell too, out of experience.

Could you be more specific? The strength reduction bug was supposed to be
squashed as far back as egcs-1.0, at least (2.7.2.3 doesn't show the bug, as
the optimization was just turned off wholesale). Others I don't know about.

Note that new snapshots need -fno-strict-aliasing: The compiler is _too_
eager to assume that a datum can only be accessed through a pointer to its
own type.

>Any news when egcs-2.0 (or gcc-3.0 if that's what it's called these days)
>is going to be released ?  I've heard that it has much better code
>generation for the Alpha.

gcc-2.95, egcs is now the official gcc for the FSF. It should be released
soon (AFAIR, the tentative date was July 1).
-- 
Horst von Brand                             [EMAIL PROTECTED]
Casilla 9G, Viņa del Mar, Chile                               +56 32 672616

------------------------------

From: "Soohyung Lee" <[EMAIL PROTECTED]>
Subject: How to get all PID ?
Date: Fri, 4 Jun 1999 14:02:35 +0900

How can I get all Process ID running at any instance.
Not by script (ps aux), But in the C program .
I really need your help.
Thanks in advance .

- Lee -



------------------------------

From: "G. Sumner Hayes" <[EMAIL PROTECTED]>
Crossposted-To: comp.os.linux.development.apps
Subject: Re: kernel vs gcc-2.95
Date: Fri, 04 Jun 1999 00:23:33 -0400

Conrad Sanderson wrote:
> 
> Got rather intersted in the new features in gcc-2.95 (egcs 1.2)
> and in http://egcs.cygnus.com/spill.html found this little oddity:
> 
> "One side effect of Bernd's work is that incorrect asms which 
> explicitly clobber a register that is also mentioned in the 
> inputs/outputs for the asm will always generate an error on all 
> ports.  This is going to cause linux kernels to fail to build on x86
> processors until the linux kernel developers fix the asms in the 
> linux kernel."

Note the date on that -- October 27, 1998.

Bernd and others went to a lot of work to fix these asms for the
2.2.0 kernel, and Alan Cox went to a lot of trouble to get the
fixes merged.  If there is a problem compiling 2.2.x or later kernels
with egcs, it is a bug and should be reported and fixed.  

Lots of people build 2.2.x with egcs without problems.  However,
it should not be considered as stable as gcc 2.7.2.3 and won't be
at least until Linus switches over to gcc 2.95 (or whatever later
version).  AFAIK there are no known bugs in the kernel asms
left.  There may be unrelated egcs bugs, if you can find any then
report them to the egcs crew and they'll try to fix them.  Getting
egcs to work with the linux kernel is a major goal of egcs.

--Sumner

------------------------------

From: [EMAIL PROTECTED] (Paul Kimoto)
Subject: Re: Compiling kernel w/ other than gcc
Date: 3 Jun 1999 11:44:06 -0500
Reply-To: [EMAIL PROTECTED]

In article <6xn53.545$[EMAIL PROTECTED]>, William McBrine wrote:
> Just out of curiosity, has anyone here compiled a Linux kernel with
> something other than gcc (or pgcc or egcs)? And if so, what were the
> results?

Because the kernel code promiscuously uses GNU C extensions,
it can't be built with any compiler that is not in the gcc 
family (gcc/egcs/pgcc/...).

-- 
Paul Kimoto             <[EMAIL PROTECTED]>

------------------------------

From: [EMAIL PROTECTED] (Christopher B. Browne)
Crossposted-To: alt.os.linux,comp.os.linux.advocacy,comp.os.misc,comp.unix.advocacy
Subject: Re: TAO: the ultimate OS
Reply-To: [EMAIL PROTECTED]
Date: Fri, 04 Jun 1999 04:52:59 GMT

On Fri, 4 Jun 1999 03:20:49 GMT, Vladimir Z. Nuri <[EMAIL PROTECTED]>
posted:
> * object orientation is the best method we have for dealing with
>       complexity because it is the most complete form of abstraction

Is it possible to get more "complete" explanation of what on earth 
"the most complete form of abstraction" represents?  This sounds a
whole lot like the usual rubbish that comes from people that want to
be "ultimate" but that don't have a grasp of computing theory.

>From what I can tell, the Lambda calculus and the concept of the
Turing Machine are the "dual dueling masters" in the representation of
the completeness of computing abstractions.  Anything that can be
computed may be expressed either as a Turing Machine or as an expression
in the Lambda calculus.  That's completeness...

In contrast, object *orientation* seems to be a *technique* where someone
that has a proper understanding of a system that is to be represented
may try to map the system's taxonomy onto a set of objects and methods.
And the *real* "skull sweat" that is involved is in *understanding the
system* in situ, not simply in thinking about an "object orientation."

> * software is too monolithic to be easily modified, and without
>       source code, all a user can do is modify settings
> * both Apple and MS had ideas on how to fix it
> * Apple made OpenDoc and their publications said all the right things,
>       but when it came down to the actual product, it was really not at
>       all flexible (basically nested rectangles like OLE)

Odd.  OpenDoc was an object oriented system, and while Microsoft's
opposition can certainly be attributed with much of the cause for
its failure to attract interest, it is interesting that the "object
orientation" did not prevent it from suffering from the problem that it
was too complex to code for.

> * MS came up with COM which also said some good things (it stressed
>       the idea of the interface), but it was really a low-level
>       standard (even though they claim it is ultra-portable, it depends
>       on the vtable format used by the compiler)
> * one problem with a whole sea of objects is that the complexity
>       hasn't really gone away... it moved into the interactions
>       between the objects

Forget interaction.  Just consider the problem that before you have
*any* objects, you have to understand the system well enough to come
up with a comprehensive taxonomy.

Object Orientation assumes the availability of a sufficiently
comprehensive taxonomy, and that taxonomy is the critical level of
abstraction.  It suggests some techniques, particularly that of
associating together data and methods.  

In more modern systems, the technique of describing protocol is a
natural extension.  (I'm not sure how recent it is in Objective C.)

Unfortunately, taxonomic techniques are no substitute for actually
understanding the system.
-- 
Those who do not understand Unix are condemned to reinvent it, poorly.  
-- Henry Spencer          <http://www.hex.net/~cbbrowne/lsf.html>
[EMAIL PROTECTED] - "What have you contributed to free software today?..."

------------------------------


** FOR YOUR REFERENCE **

The service address, to which questions about the list itself and requests
to be added to or deleted from it should be directed, is:

    Internet: [EMAIL PROTECTED]

You can send mail to the entire list (and comp.os.linux.development.system) via:

    Internet: [EMAIL PROTECTED]

Linux may be obtained via one of these FTP sites:
    ftp.funet.fi                                pub/Linux
    tsx-11.mit.edu                              pub/linux
    sunsite.unc.edu                             pub/Linux

End of Linux-Development-System Digest
******************************

Reply via email to