BCPL
Z Wikipedii
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 2 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 1 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ł 2 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.
[edytuj] Bibliografia
- 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.
- "the Jargon file":
- Strona domowa Martina Richardsa: http://www.cl.cam.ac.uk/users/mr/
- Dystrybucja BCPL Martina Richardsa: http://www.cl.cam.ac.uk/users/mr/BCPL.html