From mboxrd@z Thu Jan 1 00:00:00 1970 To: 9fans@cse.psu.edu Subject: Re: [9fans] Plan9 as a development environment? From: anothy@cosym.net MIME-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 8bit Message-Id: <20010614200950.8BB50199E4@mail.cse.psu.edu> Date: Thu, 14 Jun 2001 16:09:14 -0400 Topicbox-Message-UUID: b9562f1c-eac9-11e9-9e20-41e7f4b1d025 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. -α.