Limbo (język programowania)

Limbo
Pojawienie się

1995

Paradygmat

programowanie współbieżne

Typowanie

silne

Twórca

Sean Dorward, Phil Winterbottom, Rob Pike

Licencja

Open Source

Platforma systemowa

Inferno

Książki w Wikibooks
Multimedia w Wikimedia Commons
Strona internetowa

Limbojęzyk programowania przeznaczony do tworzenia systemów rozproszonych oraz programów dla systemu operacyjnego Inferno. Limbo został stworzony w Bell Labs przez Dennisa Ritchie, Seana Dorwarda, Phila Winterbottoma i Roba Pike’a.

Kompilator Limbo generuje kod pośredni, niezależny od danej architektury procesora, który następnie jest wykonywany przez wirtualną maszynę o nazwie Dis lub też kompilowany w kod maszyny docelowej tuż przed jego wykonaniem dla zwiększenia wydajności. Tak więc wszystkie programy dla Limbo są przenośne pomiędzy dowolnymi platformami Inferno. Sposób rozwiązania problemu urównoleglenia operacji zastosowany w Limbo czerpie inspirację z Communicating Sequential Processes (CSP) Hoare’a.

Cechy języka

Język oprogramowania Limbo wykazuje się następującymi cechami:

  • modularność
  • programowanie współbieżne
  • twarde sprawdzanie zgodności typów w trakcie kompilacji
  • komunikacja międzyprocesowa za pośrednictwem kanałów określonego rodzaju
  • automatyczne zwalnianie nieużywanych zasobów
  • proste abstrakcyjne typy danych

Przykłady

W składni Limbo można dostrzec zarówno wpływy języka C, jak i Pascala oraz jego następców[1].

name := type value;
name0,name1 : type = value;
name2,name3 : type;
name2 = value;
for (expr1 ; expr2 ; expr3) statement.

„Witaj, Świecie!”

 implement Command;

 include "sys.m";
     sys: Sys;

 include "draw.m";

 include "sh.m";

 init(nil: ref Draw->Context, nil: list of string)
 {
     sys = load Sys Sys->PATH;
     sys->print("Hello World!\n");
 }

Przypisy

  1. Dennis M. Ritchie: The Limbo Programming Language. [dostęp 2011-08-27]. Cytat: A quick glance at the program reveals that the syntax of Limbo is influenced by C in its expressions, statements, and some conventions (...), and also by Pascal and its successors (...) (ang.).

Literatura

Trzecie wydanie systemu operacyjnego Inferno oraz język oprogramowania Limbo są opisane w podręczniku Inferno Programming with Limbo ISBN 0-470-84352-7 (Chichester: John Wiley & Sons, 2003), by Phillip Stanley-Marbell. Inny podręcznik – „The Inferno Programming Book: An Introduction to Programming for the Inferno Distributed System”, autorstwa Martina Atkinsa, Charlesa Forsytha, Roba Pike’a i Howarda Trickeya, nie został nigdy dokończony.

Linki zewnętrzne

  • O języku Limbo
  • The Limbo Language (ang.)
Kontrola autorytatywna (język programowania):
  • LCCN: sh2003001159
  • GND: 4786435-7
  • J9U: 987007535175805171