From mboxrd@z Thu Jan 1 00:00:00 1970 Message-ID: <44C5F39C.3010002@syntelos.com> Date: Tue, 25 Jul 2006 06:34:04 -0400 From: John Pritchard User-Agent: Thunderbird 1.5.0.4 (X11/20060602) MIME-Version: 1.0 To: Fans of the OS Plan 9 from Bell Labs <9fans@cse.psu.edu> Subject: Re: [9fans] Re: 9fans Digest, Vol 27, Issue 52 References: <20060725060656.C57B6297F0@mail.bitblocks.com> In-Reply-To: <20060725060656.C57B6297F0@mail.bitblocks.com> Content-Type: multipart/alternative; boundary="------------000405050905040804040807" Topicbox-Message-UUID: 8c56c6fe-ead1-11e9-9d60-3106f5b1d025 This is a multi-part message in MIME format. --------------000405050905040804040807 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Bakul Shah wrote: > This thread has me wondering.... Could it be that Plan 9's > "everything is a file" model works extremely well in a narrow > band of designs but does not offer much of an advantage for > larger scale designs? May be one needs so many other things > that the advantage offered by plan 9 gets lost in the noise. > > Or is it that no one has pushed use of this model hard enough > for things like browsers, compilers and such? And may be > what is needed are Plan 9 analogues of books like The Unix > Programming Environment, The Unix Network Programming, The > Haskell School of Expression, Design Patterns, Structure and > Interpretation of Computer Programs and so on? > > Or may be its way is most suited for some future where > computers as public transport for a variety of unrelated > programs are a thing of the past? > > > Hi, Can't resist to write on this subject... Consider this... With Unix the OS was created in a much less complex world where time and space were orders of magnitude less expansive. As the computing world evolved through the 80's and 90's this OS (Unix, the founding world view for many of us) came to need "application layer" software (libs, interpreters, etc) to bring high level symbolic primitives to application development. An interesting example may be the Java VM in that a fat layer like that would have been entirely unfathomable in 1970 and even in 1980 (Objects seem to be an appendage to the Oak instruction set), but today this level of abstraction from the system is good for a lot of application development (performance aside). Inferno's Dis (Limbo) is on the same level of abstraction (but different of course), while Plan9's Alef is another approach. The Plan9 and Inferno OSes have sought to provide clear application platforms in terms of system model and development language for this networked world. But it's easy to go too far in pushing the system model on applications. These modern OSes don't have the need for application layers like Unix/C did, but developing in oneself the experience of interesting application architectures over these system architectures has to begin somewhere -- and so it begins with our current concepts. Ideally one gets to specialize in an application domain where the interesting problems in an application domain are studied and become known. Then finding intersections between system architectures and application architectures for more compelling applications is the art one may spend decades developing. If we were to formulate mozilla for an OS like Plan9 or Inferno, what would be different in that software architecture? One can either descend into the endless void of great possibilities, or truncate that space at a first stage (it's just an HTTP client) and then start over from scratch for a second (it's a world of multi-protocol clients). Maintain sanity. It's not for nothing that the world of software has gone through many object and networked object models in the past two or three decades --- one perspective. Or if we go back to John Holland's Universal Spaces (1960's, partially available in Arthur Burk's "Essays") we can see this history from another perspective in which models are differentiated into universal and specific (very interesting). When is a universal model what an application wants, and when is it a specific one. Perhaps this question is interesting when it helps to define "stage one" and "stage two" in our broad prototyping cycles. Because models tend toward the universal in the scope of any one (networked, multi) application, but are always compromised. The term Data Structures can evoke the opposing or bottom- up view of specific models. ..book truncated here.. cheers /j --------------000405050905040804040807 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
Bakul Shah wrote:
This thread has me wondering....  Could it be that Plan =
9's
"everything is a file" model works extremely well in a narrow
band of designs but does not offer much of an advantage for
larger scale designs?  May be one needs so many other things
that the advantage offered by plan 9 gets lost in the noise.

Or is it that no one has pushed use of this model hard enough
for things like browsers, compilers and such?  And may be
what is needed are Plan 9 analogues of books like The Unix
Programming Environment, The Unix Network Programming, The
Haskell School of Expression, Design Patterns, Structure and
Interpretation of Computer Programs and so on?

Or may be its way is most suited for some future where
computers as public transport for a variety of unrelated
programs are a thing of the past?


  

Hi,

Can't resist to write on this subject...

Consider this...

With Unix the OS was created in a much less complex world where time and space were orders of magnitude less expansive.=C2=A0 As the computing world evolved through the 80's and 90's this OS (Unix, the founding world view for many of us) came to need "application layer" software (libs, interpreters, etc) to bring high level symbolic primitives to application development.=C2=A0 An interesting example may be the Java VM = in that a fat layer like that would have been entirely unfathomable in 1970 and even in 1980 (Objects seem to be an appendage to the Oak instruction set), but today this level of abstraction from the system is good for a lot of application development (performance aside).

Inferno's Dis (Limbo) is on the same level of abstraction (but different of course), while Plan9's Alef is another approach.

The Plan9 and Inferno OSes have sought to provide clear application platforms in terms of system model and development language for this networked world.=C2=A0 But it's easy to go too far in pushing the system model on applications.=C2=A0 These modern OSes don't have the need for application layers like Unix/C did, but developing in oneself the experience of interesting application architectures over these system architectures has to begin somewhere -- and so it begins with our current concepts.=C2=A0

Ideally one gets to specialize in an application domain where the interesting problems in an application domain are studied and become known.=C2=A0 Then finding intersections between system architectures and application architectures for more compelling applications is the art one may spend decades developing.

If we were to formulate mozilla for an OS like Plan9 or Inferno, what would be different in that software architecture?=C2=A0 One can either descend into the endless void of great possibilities, or truncate that space at a first stage (it's just an HTTP client) and then=C2=A0 start ov= er from scratch for a second (it's a world of multi-protocol clients).=C2=A0 Maintain sanity.

It's not for nothing that the world of software has gone through many object and networked object models in the past two or three decades --- one perspective.=C2=A0 Or if we go back to John Holland's Universal Space= s (1960's, partially available in Arthur Burk's "Essays") we can see this history from another perspective in which models are differentiated into universal and specific (very interesting).

When is a universal model what an application wants, and when is it a specific one.=C2=A0 Perhaps this question is interesting when it helps to define "stage one" and "stage two" in our broad prototyping cycles.=C2=A0 Because models tend toward the universal in the scope of any one (networked, multi) application, but are always compromised.=C2=A0 The ter= m Data Structures can evoke the opposing or bottom- up view of specific models.=C2=A0

..book truncated here..


cheers

/j


--------------000405050905040804040807--