From mboxrd@z Thu Jan 1 00:00:00 1970 To: 9fans@cse.psu.edu Date: Thu, 23 Aug 2007 08:49:29 +0000 From: jsnx Message-ID: <1187806018.156523.182690@x35g2000prf.googlegroups.com> Content-Type: text/plain; charset="us-ascii" References: <5d375e920708201825r44ea34f3m7500c4760db7024f@mail.gmail.com> Subject: [9fans] Re: everything is a directory Topicbox-Message-UUID: b032f97a-ead2-11e9-9d60-3106f5b1d025 On Aug 22, 2:54 am, app wrote: > On Aug 22, 11:47 am, jsnx wrote: > > > On Aug 21, 1:48 am, app wrote: > > > > I would just like to remind, that directories with union mounts do > > > present "inheritance"...Exactly like in SmallTalk or C++ or > > > Java. > > > Well, it's not exactly like in Java, since you are composing *two* > > bases to make a child -- that's multiple inheritance, which is not > > permitted in Java. > > In OO you are _always_ composing stuff from at least two sets of > data... The reason I'm calling it 'multiple inheritance' is because there are two distinct bases which you are extending to create a child. In single inheritance, there is one base that you extend to create a childhood. The only reason I bring it up is to point out the loose coupling of OO languages and the notion you are talking about. It is much more like mixins, a feature in Ruby, than it is like inheritance in Java. Why do I stress this point? Because of my Jihad against object- oriented programming in particular, and my distress at the general willingness of folks in the computing community to compare good features in any system to bad features in object-oriented programming. By noting the connection between inheritance and unions, you have not seen into inheritance but rather through it -- out the other side to a rich world of architectural approaches. > Benefits in Plan 9 approach are numerous: language independence, free > serialization, optional persistence, networking, object naming and > object permissions provided automatically by the system, not by > programmers. Indeed, I agree -- using the filesystem is the "way of the future"^tm for module composition, document structure, laying out web sites, managing users... We can only hope for the day when people realize that text streams are the real Common Language Runtime!