9fans - fans of the OS Plan 9 from Bell Labs
 help / color / mirror / Atom feed
From: anothy@cosym.net
To: 9fans@cse.psu.edu
Subject: Re: [9fans] Plan9 as a development environment?
Date: Thu, 14 Jun 2001 16:09:14 -0400	[thread overview]
Message-ID: <20010614200950.8BB50199E4@mail.cse.psu.edu> (raw)

plan 9's C dialect (for the most part) consists of a less sophisticated pre-processor
and a few extentions to the language proper. the extetions are described breifly on
the 2c(1) man page and in more deation in the paper "How to Use the Plan 9 C
Compiler" (/sys/doc/comp.ps).

Plan 9 also includes a compatability subsystem calle APE, the ANSI/POSIX
Environment, which includes a complete(?) ANSI pre-preocssor.

the biggest differences you're likely to run into on this level are the libraries. plan 9
provides different libaries for many of the standard functions. and obviously many
things - like networking - are done completely differently. again, APE providdes the
ANSI/POSIX libraries and many common extentions.

as suggested here a few times before, ape may actually be a more exactly
conforming ANSI/POSIX environment than many Unix systems. but the prefered
development environment is still Plan 9's native environment, which provides access
to the native libraries, compiles faster, and results in faster executables. nearly all the
C code in the system as distributes (gs and troff are the only exceptions i can think
of) are written in Plan 9's C dialect.

as far as other languages, people have ported Perl and Python with some success.
they are not distributed with the system, and i don't have pointers, but the people
who did the work are probably reading this list. there was a C++ compiler in the 2nd
edition, but not in the current edition. rc, the shell, is an excelent shell, with many
improvements over the bourne shell that make it well-suited to scripting. if you
_need_ it, APE provides a mostly-ksh shell (minus the editing modes and history).
there's also awk.

many people (including me) will tell you that if you're doing applications-level stuff,
and you're willing to learn something new, it'd be worth your time to learn Limbo, the
programing language in Inferno. Inferno runs on Plan 9, and lots of other platforms,
too (various Unixes, Win-32, raw hardware). Limbo is a new language in the C lineage,
with great facilities for inter-process communication and multi-threaded, multi-proc
development, and a very nice syntax. definatly worth your investigation.

the common development environment (in the IDE sense of the term) is Acme, a sort
of combination shell, windowing system, and development environment. it's described
in the acme(1) man page, and in the paper "Acme: A User Interface for Programmers"
(/sys/doc/acme/acme.ps). Acme is available in both the Plan 9 and Inferno
distributions. the name of the paper is somewhat misleading - it's quite useful for lots
of non-programming tasks, as well. for example, my prefered email client runs in
Acme, and i use Acme as my text editor.

hope that helps, and good luck with your experimentation.
-α.



             reply	other threads:[~2001-06-14 20:09 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2001-06-14 20:09 anothy [this message]
2001-06-15  8:27 ` Andrew Nesbit
  -- strict thread matches above, loose matches on Subject: below --
2001-06-14 17:41 anothy
2001-06-15  3:33 ` William Josephson
2001-06-14 16:17 Andrew Nesbit

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=20010614200950.8BB50199E4@mail.cse.psu.edu \
    --to=anothy@cosym.net \
    --cc=9fans@cse.psu.edu \
    /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).