ФЭНДОМ


Диалект С системы Plan 9 главным образом состоит из существенно упрощенного препроцессора и нескольких расширений языка C. Расширения коротко описаны в man-странице 2c(1) и более детально в документе «Как использовать компилятор Plan 9 C» (How to Use the Plan 9 C Compiler, /sys/doc/comp.ps).

Также в Plan 9 есть переносимая среда под названием АРЕ, ANSI/POSIX Environment, которая включает отдельные файлы, библиотеки и команды, соответствующие, насколько это возможно, более точно спецификациям ANSI С и базового POSIX.

Наибольшие различия вы, вероятно, встретите как раз на этом уровне библиотек. В Plan 9 есть различные библиотеки для многих стандартных функций. И, очевидно, многие вещи, как например, организация сети — сделаны полностью по-другому.

APE более точно соответствует среде ANSI/POSIX, чем многие современные Unix системы. Но, предпочтительной средой разработки все еще остается исконная среда Plan 9, которая обеспечивает доступ к исконным библиотекам. Их компиляция выполняется намного быстрее, в результате исполняемые файлы также получаются более быстрые. Почти весь C код в системе, как распространено (единственными исключениями являются gs и troff), написан на диалекте Plan 9 C.

Что касается других языков, то успешно портированы Perl, Python, Scheme, noweb, Haskell, newsqueak и MosML, но они не входят в дистрибутив системы, так что смотрите ссылки в конце документа. Оболочка rc(1) — великолепна, со многими улучшениями Bourne Shell, которые делают ее подходящей для программирования. В системе также присутствуют awk, acid, troff, hoc, bc, dc, gs, mp, которые также считаются языками программирования.

Утилита mk(1) широко используется в Plan 9, она описана в подробностях в документе «Поддержка файлов в Plan 9 с помощью mk» (Maintaining Files on Plan 9 with Mk, /sys/doc/mk.ps). Ее функция аналогична make (которую также обеспечивает APE), но она проще, следовательно, более мощная. Документ «Mk-файлы Plan 9» (Plan 9 Mkfiles, /sys/doc/mkfiles.ps) содержит некоторые примеры использования mk и mk-файлов.

Общей средой разработки является редактор Acme, своего рода комбинация оболочки, оконной системы, среды разработки (кстати, в Acme также можно прослушивать компакт-диски). Acme описан в man-странице acme(1) и документе «Acme: пользовательский интерфейс для программистов» (Acme: A User Interface for Programmers, /sys/doc/acme/acme.ps). Название этого документа отчасти вводит в заблуждение — он полезен также и для массы задач не из области программирования.</p>

ПрограммированиеПравить

Самая короткая C программа для 8c/8l:

#include </u.h>
#include <libc.h>
void
main(int argc, char *argv[]) {
}

Самая короткая C программа для APE:


#include <stdlib.h>
void
main(int argc, char *argv[]) {
}


перед ее компиляцией с помощью cc, выполните команду ape/psh


Эта команда запускает POSIX оболочку со средой, которая включает POSIX команды: ar89, c89, cc, basename, dirname, expr, false, grep, kill, make, rmdir, sed,sh, stty, true, uname и yacc.

ПортыПравить

Эндрю Почински (Andrew Pochinsky) частично портировал SXM (смотрите по адресу: http://www.malgil.com/sxm/).

Дэвид Гордон Хоугэн (David Gordon Hogan) портировал GCC 3.0. Всего есть 3 tar-ball файла:


  1. /n/sources/extra/gnubin.tgz
  2. /n/sources/extra/ape.tgz
  3. http://cm.bell-labs.com/cm/cs/who/dhog/gnusrc.tgz </u>
  • Первый файл должен быть извлечен в корне ФС Plan 9 для установки разного рода исполняемых файлов, библиотек и т.п.. Порт лишь для 386, так что все работает только на этой архитектуре.
  • Второй содержит исходные тексты APE библиотек, которые работают с GCC. APE распространяется на условиях лицензии Plan 9. Файлы должны быть извлечены в каталог /sys/src/gnu/ape.
  • Третий архив — набор исходных текстов для сборки GCC. Он немного в небрежном состоянии. Смотрите файл README за детальным описанием. Файлы должны быть извлечены в каталог /sys/src/gnu. GCC, Binutils и другие файлы распространяются на условиях лицензии GPL.

Первые два архива доступны на странице дополнительного ПО Plan 9: http://plan9.bell-labs.com/plan9dist/ureg.html. Мэтт Синекл (Matt Senecal) портировал виртуальную машину CVM (http://java.sun.com/products/cdc/cvm). На данный момент портированы только наиболее трудные части HPI (потоки, замки и JNI).

Недавно был портирован Kaffe — популярный Java интерпретатор/JIT-компилятор. Порт работает (слишком громко сказано) лишь на платформе Intel 386. JIT версия не полностью функциональна.

СсылкиПравить

  • Perl в Plan 9 http://www.perldoc.com/perl5.8.0/README.plan9.html.
  • Расс Кокс (Russ Cox) портировал язык MosML.
  • Порт языка Python доступен для загрузки со страницы дополнительного ПО Plan 9.
  • SXM — портабельная реализация языка программирования Scheme.
  • Дистрибутив Kaffe, пакет содержит исходники, двоичный код и детальную информацию.
  • Hugs — интерпретатор функционального языка Haskell.
  • Ocaml — еще один язык функционального программирования, чей интерпретатор был портирован в среду Plan 9

Copyright © 2003 Перевод Андрей С. Кухар. Последняя модификация 21.08.2003

Обнаружено использование расширения AdBlock.


Викия — это свободный ресурс, который существует и развивается за счёт рекламы. Для блокирующих рекламу пользователей мы предоставляем модифицированную версию сайта.

Викия не будет доступна для последующих модификаций. Если вы желаете продолжать работать со страницей, то, пожалуйста, отключите расширение для блокировки рекламы.

Также на ФЭНДОМЕ

Случайная вики