Limbo (język programowania)

Z Wikipedii, wolnej encyklopedii
Przejdź do nawigacji Przejdź do wyszukiwania
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
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[edytuj | edytuj kod]

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[edytuj | edytuj kod]

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!”[edytuj | edytuj kod]

 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[edytuj | edytuj kod]

  1. Dennis M. Ritchie: The Limbo Programming Language (ang.). [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 (...)

Literatura[edytuj | edytuj kod]

Trzecie wydanie systemu operacyjnego Inferno oraz język oprogramowania Limbo są opisane w podręczniku Inferno Programming with LimboISBN 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[edytuj | edytuj kod]