BCPL
| 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]
|
||||||||||||||||||||||||||||||||||||||||||||||||||