BCPL

Z Wikipedii, wolnej encyklopedii
Skocz do: nawigacji, wyszukiwania
BCPL
Pojawienie się 1966
Paradygmat wieloparadygmatowy (strukturalny, impreatywny, proceduralny)
Pochodne CPL
Twórca Martin Richards

BCPL (Basic Combined Programming Language) to język programowania komputerów zaprojektowany przez Martina Richardsa na Uniwersytecie w Cambridge (1966) jako wynik problemów z jego poprzednikiem - językiem CPL - w latach sześćdziesiątych. Pierwszy kompilator BCPL Richards napisał w czasie pobytu w MIT (wiosną 1967). Język został opisany w artykule zaprezentownym na Spring Joint Computer Conference (1969). Na podstawie BCPL Dennis Ritchie później zaprojektował język programowania C.

Język ten był elegancki, a zarazem potężny i przenośny. Kompilator był mały i prosty, co czyniło go częstym wyborem przy pisaniu startowego kodu ładującego (ang. bootstrap) systemu. Podobno niektóre kompilatory wymagały tylko 16 kilobajtów pamięci. Kilka systemów zostało napisanych po części lub w całości w BCPL (na przykład: TRIPOS czy Kickstart Amigi). Przyczyną jego przenośności była budowa kompilatora składająca się z dwóch części. W pierwszym etapie kod był parsowany i tłumaczony na tzw. O-code dla maszyny wirtualnej. W drugiej fazie O-code był tłumaczony na asembler maszyny docelowej. W niedługim czasie technika ta stała się powszechna także przy budowie kompilatorów innych języków programowania (jak Pascal czy Java).

Niezwykłą cechą tego języka było to, że posiadał tylko jeden typ danych - słowo (stała liczba bitów, zwykle dobierana do konkretnej architektury). Interpretacja wartości zależała od operatorów użytych do jej przetworzenia (+ dodawał dwie wartości, traktując je jako liczby całkowite; ! traktował wartość jako wskaźnik). Tak więc kompilator nie zapewniał żadnej kontroli typów.

To właśnie w BCPL napisano oryginaly program Hello world. Pierwszy MUD także powstał w BCPL.[1]

W 1979 istniały implementacje BCPL dla 25 architektur, ale obecnie się go już nie używa. Jego następca, C, jest językiem, w którym tworzy się systemy operacyjne.

Budowa BCPL mocno wpłynęła na język B, który następnie wpłynął na język C.

Przypisy

Bibliografia[edytuj | edytuj kod]

  • BCPL, the language and its compiler, Richards, M and Whitby-Stevens, C. Cambridge University Press, 1980. (ISBN 0-521-28681-6)
  • BCPL - a tool for compiler writing and systems programming, Richards, M. Proceedings of the Spring Joint Computer Conference, vol 34, pp 557-566, 1969.

Linki zewnętrzne[edytuj | edytuj kod]