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] Modern development language for Plan 9, WAS: Re: RESOLVED: recoving important header file rudely
Date: Wed,  2 Feb 2011 09:44:34 -0800	[thread overview]
Message-ID: <AANLkTikpTUaKGAcP9p_Xso96c_cOF9Qui5rrXhUu1BDX@mail.gmail.com> (raw)
In-Reply-To: <86mxmfuiep.fsf_-_@cmarib.ramside>

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

On Tue, Feb 1, 2011 at 9:14 PM, <smiley@zenzebra.mv.com> wrote:

> ron minnich <rminnich@gmail.com> writes:
>
> > I think you should set your sights higher than the macro approach you
> > propose. At least in my opinion it's a really ugly idea.
>
> You might be surprised to hear that I agree.  :) It's far from an ideal
> solution.  I am certainly open to alternatives!
>
> > You could make a lasting contribution by bringing a good modern
> > language to Plan 9.
>
> Maybe.  My first criterion for such a language would be that it compile
> to native machine code.  Although requiring such may be presumptive, it
> seems appropriate that the core OS applications (file servers, command
> line utilities, etc.) be in native machine code.  On the other hand, on
> Inferno, Limbo compiles to architecture-independent bytecode,
> eliminating the need for the /$objtype directories on Plan 9, while
> enabling easier sharing of object code.  What are all your thoughts' on
> this "compiled vs interpreted" design decision?
>

You can already write Limbo programs for Plan 9.  The line between the "OS"
of Inferno and the VM of Inferno is small.  You should be able to access
your plan 9 resources from Inferno just fine.  Just like you can access most
of what you'd want from an operating system from Java or Erlang.  It's not
very different, except that Inferno has shells and editors and a GUI that
run in it's VM.


>
> The Go language (from Google? sigh. Evil, evil.) appears to compile to
> native machine code.  The Go web site (http://golang.org), however,
> claims that Go requires a "small" runtime... which causes me to wonder
> just how fully "compiled" it is.  Anyone know the scoop on what this
> "runtime" is all about?
>

Even C has a runtime.  Perhaps you should look more into how programming
languages are implemented :-).  C++ has one too, especially in the wake of
exceptions and such.


>
> Go is also a garbage-collected language.  I'm also a bit leery of using
> a GC language for coding core OS applications.  I've generally thought
> of GC as being for lazy programmers (/me runs and hides under his desk,
> peeks out...) and incurring somewhat of a performance hit.  I'm not sure
> if that would be appropriate for core applications.  Then again, it
> seems to be what's done on Inferno.  Thoughts on this?
>

GC can incur performance hits in some families of applications where timing
guarantees are needed and make writing code for hard realtime applications
basically impossible, unless you can get some guarantees from the GC that it
won't interrupt your processing that must complete by a particular deadline.



>
> Wikipedia says that Go doesn't support safe concurrency.  However, the
> Go web site claims that "goroutines" (which are kinda like threads)
> coordinate through explicit synchronization.  Isn't that how the Plan 9
> threading library works, too?  I'm not sure why the Wikipedia article
> would make a claim like that.  Thoughts on the relative merits of
> concurrency in Go vs Plan 9 C would also be welcome.
>

The memory model is very clear on how changes become visible across
goroutines.  One must either synchronize with channels or synchronize via
some locking mechanism to guarantee that updates to shared data are visible.
 Go encourages a CSP style of concurrency that promotes using channels for
both synchronization and update of shared data.

This is something you could learn by reading more about it yourself, or
trying it out.  There's even an in-browser sandbox you can use.


>
> On an implementation note, it sounds like Go can be bootstrapped from C,
> with a little bit of assembly.  It might not be so monumental a task to
> port Go to Plan 9, though I would hesitate to use ANY code written by
> Google without a thorough audit.
>

People already have a Go cross compiler to Plan 9.  You could verify these
"sounds like" factoids yourself though by checking it out and trying it.


>
> > I'll say it again, I don't think a cpp-based approach will be well
>
> Did you mean what you wrote, "cpp" or did you mean C++?
>

C pre-processor probably.

>
> > Or even native Limbo, that one is frequently requested.
>
> Can Libmo be compiled to native machine code?
>
> There was some mention that, during the history of Plan 9, developers
> had difficulty maintaining two different languages on the system.  I
> wonder how much of that difficulty would still apply today.  Although
> the kernel could concievably be translated to a modern compiled
> language, I doubt it could be written in Go.  If Go were used, then,
> there would still have to be two languages/compilers/development
> environments on the system.
>

Where did your C compiler come from?  Someone probably compiled it with a C
compiler.  Bootstrapping is a fact of life as a new compiler can't just be
culled from /dev/random or willed into existence otherwise.  It takes a plan
9 system to build plan 9 right?  (This was not always true for infinitely
recursive reasons)


>
> --
> +---------------------------------------------------------------+
> |E-Mail: smiley@zenzebra.mv.com             PGP key ID: BC549F8B|
> |Fingerprint: 9329 DB4A 30F5 6EDA D2BA  3489 DAB7 555A BC54 9F8B|
> +---------------------------------------------------------------+
>
>

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

  parent reply	other threads:[~2011-02-02 17:44 UTC|newest]

Thread overview: 192+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-01-29 22:47 [9fans] HELP: recoving important header file rudely clobbered by mk smiley
2011-01-29 22:54 ` erik quanstrom
2011-01-29 22:58 ` Steve Simon
2011-01-30  1:16   ` smiley
2011-01-30  4:07     ` John Floren
2011-01-30  4:49       ` erik quanstrom
2011-01-30  4:56         ` John Floren
2011-02-01  6:22       ` smiley
2011-02-01  6:47         ` Federico G. Benavento
2011-02-01  6:54           ` John Floren
2011-01-29 23:24 ` [9fans] RESOLVED: " smiley
2011-01-29 23:41   ` Steve Simon
2011-01-30 14:19     ` [9fans] RESOLVED: recoving important header file rudely Richard Miller
2011-01-30 14:28       ` erik quanstrom
2011-01-31 18:02       ` smiley
2011-01-31 22:12         ` Steve Simon
2011-02-01  6:02           ` smiley
2011-02-01  6:26             ` Lucio De Re
2011-02-01  7:07               ` smiley
2011-02-01  7:22                 ` Lucio De Re
2011-02-01 13:45                 ` erik quanstrom
2011-02-01 16:24                 ` Charles Forsyth
2011-02-01  6:45             ` ron minnich
2011-02-01 17:51               ` smiley
2011-02-01 18:33                 ` ron minnich
2011-02-01 19:16                   ` jimmy frasche
2011-02-02  0:28                   ` smiley
2011-02-02  0:42                     ` erik quanstrom
2011-02-02  0:47                     ` ron minnich
2011-02-02  5:14                       ` [9fans] Modern development language for Plan 9, WAS: " smiley
2011-02-02  5:37                         ` Scott Sullivan
2011-02-02  5:38                         ` EBo
2011-02-02 15:54                           ` Anthony Sorace
2011-02-02 12:54                         ` erik quanstrom
2011-02-02 13:48                           ` Devon H. O'Dell
2011-02-02 17:47                           ` David Leimbach
2011-02-02 17:53                             ` erik quanstrom
2011-02-02 18:07                             ` tlaronde
2011-02-02 18:26                               ` David Leimbach
2011-02-02 18:48                                 ` tlaronde
2011-02-02 19:26                                   ` Nick LaForge
2011-02-03  0:39                                 ` Charles Forsyth
2011-02-02 17:44                         ` David Leimbach [this message]
2011-02-02 17:50                           ` erik quanstrom
2011-02-02 18:15                             ` Jonathan Cast
2011-02-02 18:21                               ` erik quanstrom
2011-02-02 18:36                                 ` David Leimbach
2011-02-02 18:38                                   ` erik quanstrom
2011-02-02 18:46                                     ` David Leimbach
2011-02-02 19:15                                 ` Jonathan Cast
2011-02-02 19:31                                   ` erik quanstrom
2011-02-02 19:48                                     ` Jeff Sickel
2011-02-02 20:07                                     ` Jonathan Cast
2011-02-02 20:11                                       ` erik quanstrom
2011-02-02 20:22                                         ` Jonathan Cast
2011-02-02 18:21                             ` David Leimbach
2011-02-03 10:00                             ` [9fans] Modern development language for Plan 9, Greg Comeau
2011-02-02 18:03                           ` [9fans] Modern development language for Plan 9, WAS: Re: RESOLVED: recoving important header file rudely erik quanstrom
2011-02-02 18:30                             ` David Leimbach
2011-02-18  5:23                         ` ron minnich
2011-02-18  5:34                           ` Paul Lalonde
2011-02-18 13:29                             ` erik quanstrom
2011-02-18 13:45                               ` dexen deVries
2011-02-18 14:54                                 ` David Leimbach
2011-02-18 15:15                                 ` Devon H. O'Dell
2011-02-18 16:11                                   ` erik quanstrom
2011-02-18 16:28                                     ` Devon H. O'Dell
2011-02-18 16:49                                       ` erik quanstrom
2011-02-18 17:10                                         ` Devon H. O'Dell
2011-02-18 17:32                                           ` erik quanstrom
2011-02-18 17:44                                             ` ron minnich
2011-02-18 19:28                                               ` Devon H. O'Dell
2011-02-18 19:33                                                 ` erik quanstrom
2011-02-18 19:49                                                   ` Devon H. O'Dell
2011-02-18 18:43                                         ` Joseph Stewart
2011-02-18 17:05                                       ` andrey mirtchovski
2011-02-18 17:12                                         ` Devon H. O'Dell
2011-02-18 16:53                                   ` dexen deVries
2011-02-18 16:59                                     ` Devon H. O'Dell
2011-02-18 17:07                                       ` erik quanstrom
2011-02-18 17:11                                         ` Devon H. O'Dell
2011-02-18 17:21                                           ` erik quanstrom
2011-02-18 17:52                                             ` John Floren
2011-02-18 18:46                                               ` Rob Pike
2011-02-18 19:15                                                 ` Bakul Shah
2011-02-18 19:26                                                   ` erik quanstrom
2011-02-18 19:46                                                     ` Bakul Shah
2011-02-18 20:15                                                       ` erik quanstrom
2011-02-18 21:06                                                         ` John Floren
2011-02-18 22:21                                                           ` Bakul Shah
2011-02-18 23:39                                                             ` [9fans] Modern development language for Plan 9, Lyndon Nerenberg (VE6BBM/VE7TFX)
2011-02-19 10:26                                                             ` [9fans] Modern development language for Plan 9, WAS: Re: RESOLVED: recoving important header file rudely Steve Simon
2011-02-19 15:09                                                             ` erik quanstrom
2011-02-19 20:09                                                               ` Bakul Shah
2011-02-19 21:15                                                                 ` erik quanstrom
2011-02-20 23:49                                                                   ` Bakul Shah
2011-02-21 14:47                                                                     ` erik quanstrom
2011-02-19 16:57                                                             ` Skip Tavakkolian
2011-02-19 15:36                                                           ` erik quanstrom
2011-02-24 10:09                                                       ` [9fans] Modern development language for Plan 9, Greg Comeau
2011-02-18 19:35                                                   ` [9fans] Modern development language for Plan 9, WAS: Re: RESOLVED: recoving important header file rudely David Leimbach
2011-02-18 20:10                                                     ` Bakul Shah
2011-02-18 21:03                                                       ` ron minnich
2011-02-18 23:55                                                     ` Federico G. Benavento
2011-02-24 10:09                                                       ` [9fans] Modern development language for Plan 9, Greg Comeau
2011-02-18 19:15                                                 ` [9fans] Modern development language for Plan 9, WAS: Re: RESOLVED: recoving important header file rudely Devon H. O'Dell
2011-02-21  5:08                                                   ` smiley
2011-02-18 17:16                                         ` Russ Cox
2011-02-18 17:12                                       ` andrey mirtchovski
2011-02-19 10:34                                   ` Steve Simon
2011-02-19 17:25                                     ` dexen deVries
2011-02-02  4:19                 ` [9fans] " Federico G. Benavento
2011-02-02 19:15                   ` smiley
2011-02-02 21:47                     ` ron minnich
2011-02-03  3:35                       ` smiley
2011-02-03  4:32                         ` andrey mirtchovski
2011-02-03  6:15                         ` Lucio De Re
2011-02-03  7:54                         ` dexen deVries
2011-02-03  9:48                           ` Charles Forsyth
2011-02-03 13:01                             ` erik quanstrom
2011-02-03 13:40                               ` roger peppe
2011-02-03 13:59                                 ` erik quanstrom
2011-02-03 14:16                                   ` roger peppe
2011-02-03 14:17                                     ` erik quanstrom
2011-02-03 14:24                                       ` roger peppe
2011-02-03 14:38                                     ` Charles Forsyth
2011-02-03 18:45                         ` Skip Tavakkolian
2011-02-03 16:23                     ` Noah Evans
2011-02-01  8:25             ` Federico G. Benavento
2011-02-01  8:37             ` Akshat Kumar
2011-02-01  9:02               ` Federico G. Benavento
2011-02-01 14:11             ` erik quanstrom
     [not found]             ` <AANLkTimYW2wofCNn1WB09cTVrQ69QxjPMZqY=Qrri5Xi@mail.gmail.com>
     [not found]               ` <AANLkTikM+LcEzaHMjWoSGubNnzXx-5h_bprQcJsrGnnG@mail.gmail.com>
     [not found]                 ` <AANLkTim4mPBHv8R=2XwdWaBc_aPHyRjj_CbdkgC8KZbd@mail.gmail.com>
     [not found]                   ` <AANLkTi=9HkdLfNLFWxddDkHWC8w_uWKPEnWQ4r2gD7an@mail.gmail.com>
     [not found]                     ` <AANLkTikjYkyW75PLm8z65=1+gTLUZLxG-xcN9wkQVuPr@mail.gmail.com>
     [not found]                       ` <AANLkTimLMLsWWQtVPZwGb0qwFxjbpy05qVZHDv92LfYY@mail.gmail.com>
     [not found]                         ` <AANLkTimoXQLMpciQh_tLRfS5ht8ONFvqz2QXEC0td2G4@mail.gmail.com>
     [not found]                           ` <AANLkTimDXcriCuejuYZ2OixXVjoYckB-hcy9+FkMsjcS@mail.gmail.com>
     [not found]                             ` <AANLkTikmQuhyXh6qhgM4hgWK2N-EhebLkWtpf9OnUkx1@mail.gmail.com>
2011-02-01 17:20                               ` Jacob Todd
2011-02-01  6:54 ` [9fans] HELP: recoving important header file rudely clobbered by mk ron minnich
2011-02-01 14:49   ` erik quanstrom
2011-02-01 14:58     ` Eric Van Hensbergen
2011-02-01 15:18       ` erik quanstrom
2011-02-01 15:37         ` Eric Van Hensbergen
2011-02-01 15:45           ` erik quanstrom
2011-02-01 16:31             ` Eric Van Hensbergen
2011-02-01 16:45               ` erik quanstrom
2011-02-01 16:59                 ` ron minnich
2011-02-02  3:46                   ` Federico G. Benavento
2011-02-01 16:41     ` ron minnich
2011-02-01 16:25   ` Charles Forsyth
2011-02-01  7:01 ` Federico G. Benavento
2011-02-02 19:05   ` smiley
2011-02-03 10:16     ` [9fans] HELP: recoving important header file rudely clobbered Richard Miller
2011-02-03 10:24       ` dexen deVries
2011-02-03 10:27       ` dexen deVries
2011-02-03 10:23     ` Richard Miller
2011-02-03 10:37       ` roger peppe
2011-02-03 10:48         ` Lucio De Re
2011-02-02  6:56 [9fans] Modern development language for Plan 9, WAS: Re: RESOLVED: recoving important header file rudely Jacob Todd
2011-02-02  7:06 ` ron minnich
2011-02-02  7:25   ` Bakul Shah
2011-02-02  7:25   ` Lucio De Re
2011-02-02  7:35 ` Nick LaForge
2011-02-02 17:45   ` David Leimbach
2011-02-02 19:19     ` Bakul Shah
2011-02-03  0:30       ` Charles Forsyth
2011-02-03  0:21         ` erik quanstrom
2011-02-03  0:52           ` Charles Forsyth
2011-02-03  0:50             ` ron minnich
2011-02-03  2:16             ` Bakul Shah
2011-02-03  2:25               ` David Leimbach
2011-02-03  2:26               ` erik quanstrom
2011-02-03 15:08                 ` David Leimbach
2011-02-03 16:19                   ` Eugene Gorodinsky
2011-02-03 17:41                   ` Bakul Shah
2011-02-03 18:11                     ` erik quanstrom
2011-02-03 18:33                       ` Bakul Shah
2011-02-03 18:54                         ` erik quanstrom
2011-02-03 19:40                           ` Bakul Shah
2011-02-03 20:33                             ` erik quanstrom
2011-02-04  7:16                               ` Bakul Shah
2011-02-04 14:38                                 ` erik quanstrom
2011-02-03 18:29                     ` Joseph Stewart
2011-02-03  8:35               ` Charles Forsyth
2011-02-03  8:56                 ` EBo
2011-02-03  9:46                   ` Charles Forsyth
2011-02-03  9:47                     ` EBo
2011-02-03  9:50                       ` Lucio De Re
2011-02-03 10:38                       ` C H Forsyth
2011-02-03 12:07                         ` EBo
2011-02-03 20:49                           ` Federico G. Benavento
2011-02-03 21:07                             ` ron minnich
2011-02-03 21:32                               ` Steve Simon
2011-02-03 23:19                                 ` EBo
2011-02-03 18:21                       ` smiley
2011-02-03 18:50                         ` John Floren
2011-02-04  5:54       ` andrey mirtchovski

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=AANLkTikpTUaKGAcP9p_Xso96c_cOF9Qui5rrXhUu1BDX@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).