9fans - fans of the OS Plan 9 from Bell Labs
 help / color / mirror / Atom feed
From: David Leimbach <leimy2k@gmail.com>
To: Fans of the OS Plan 9 from Bell Labs <9fans@9fans.net>
Subject: Re: [9fans] Binary format
Date: Wed, 17 Feb 2010 08:28:17 -0800	[thread overview]
Message-ID: <3e1162e61002170828i451c9d81ka5061e492db6e6b4@mail.gmail.com> (raw)
In-Reply-To: <c85efc901002170814v4812d9bdl432f00207289c0f4@mail.gmail.com>

[-- Attachment #1: Type: text/plain, Size: 1613 bytes --]

On Wed, Feb 17, 2010 at 8:14 AM, Stuart Morrow <morrow.stuart@googlemail.com
> wrote:

> On 2/17/10, Steve Simon <steve@quintile.net> wrote:
> >> And another important feature of shared libraries is, that when
> >> some lib is updated, importing programs dont have to be recompiled.
> >> What's the Plan9 solution here ?
> >
> > We recompile the relevant executables.
>
> also, plan 9 uses filesystems for many things that other systems use dlls
> for.
> if there's a bug fixed in a 9p server, existing programs can still
> talk to it without a recompile.
>
> stu
>

A lot of "plug in" functionality you'll find on other platforms that
requires a shared library approach can be implemented via a file system
service technique.  Instead of using the C runtime and calling conventions +
a shared library loader to call on some routines that the program in
question did not originate, it can use 9P via the file system to make what
equates to RPC calls to another process that serves the file system itself.


This actually buys one a lot in terms of the following:

1. Isolation of concerns
2. Isolation of faults
3. Composition/Debugging/Testing of solutions via a ubiquitous API/tools

How much more convenient can it get when almost all the tools you need are a
shell, cat/cp/echo etc, and some namespaces in order to build a complex
system from smaller, simpler parts.

I don't know why everyone doesn't want to build software this way.  This is
the same philosophy Erlang and Haskell (and other functional programming
languages) encourage just to write programs.

Dave

[-- Attachment #2: Type: text/html, Size: 2167 bytes --]

  reply	other threads:[~2010-02-17 16:28 UTC|newest]

Thread overview: 32+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-02-17 13:31 Enrico Weigelt
2010-02-17  8:50 ` Jacob Todd
2010-02-17 13:58   ` Enrico Weigelt
2010-02-17 14:01     ` erik quanstrom
2010-02-17 14:06 ` Gorka Guardiola
2010-02-17 14:13   ` David Leimbach
2010-02-17 14:33   ` Enrico Weigelt
2010-02-17 14:55     ` Steve Simon
2010-02-17 15:04       ` Enrico Weigelt
2010-02-17 15:29         ` erik quanstrom
2010-02-17 15:48         ` blstuart
2010-02-17 17:54           ` lucio
2010-02-17 18:37         ` Lyndon Nerenberg (VE6BBM/VE7TFX)
2010-02-17 19:00         ` Nick LaForge
2010-02-18 15:08         ` Patrick Kelly
2010-02-17 15:58       ` David Leimbach
2010-02-17 16:14       ` Stuart Morrow
2010-02-17 16:28         ` David Leimbach [this message]
2010-02-17 18:21           ` Enrico Weigelt
2010-02-17 18:34             ` David Leimbach
2010-02-17 19:02               ` Enrico Weigelt
2010-02-17 19:35                 ` Enrico Weigelt
2010-02-17 18:38             ` Corey Thomasson
2010-02-18 15:16             ` Patrick Kelly
2010-02-17 15:13     ` Robert Raschke
2010-02-17 21:32     ` Jacob Todd
2010-02-17 21:26   ` Nathaniel W Filardo
2010-02-17 23:16     ` EBo
2010-02-17 23:22       ` David Leimbach
2010-02-17 14:38 ` blstuart
2010-02-17 14:58   ` Enrico Weigelt
2010-02-17 15:25     ` blstuart

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=3e1162e61002170828i451c9d81ka5061e492db6e6b4@mail.gmail.com \
    --to=leimy2k@gmail.com \
    --cc=9fans@9fans.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).