Linda (język programowania)
Linda – język współpracujący z innymi językami programowania, wzbogacający je o możliwości tworzenia programów wykonywanych współbieżnie.
Stworzony został na Uniwersytecie Yale przez profesora Davida Gelerntera – wtedy jeszcze 23-letniego studenta. Nazwa „Linda” stanowi żartobliwe nawiązanie do języka programowania Ada, którego nazwa pochodzi od imienia Ady Lovelace (przez wielu uznawanej za pierwszą programistkę). W tym wypadku odwołuje się ona do kobiety o tym samym nazwisku, Lindy Lovelace, amerykańskiej aktorki filmów pornograficznych[1].
Język Linda to w praktyce zestaw funkcji umożliwiających współbieżne przetwarzanie danych, rozszerzający inne języki programowania (najczęściej spotykany jest w połączeniu z C oraz Fortranem: odpowiednio C-Linda i Fortran-Linda).
Model programistyczny
edytujWspółbieżność w Lindzie realizowana jest w oparciu o koncepcję logicznie współdzielonej, rozproszonej pamięci. Takie podejście determinuje sposób komunikowania się ze sobą współbieżnych procesów. Wszystkie procesy posiadają bowiem dostęp do jednej, współdzielonej przestrzeni danych, w której mogą gromadzić dane i z której mogą zgromadzone dane odczytywać. Przestrzeń ta nazwana została przestrzenią krotek (ang. tuple space). Jeśli jeden z procesów chce się skomunikować z drugim, umieszcza odpowiednie dane w przestrzeni krotek, drugi natomiast pobiera je w dogodnej dla siebie chwili[2].
Język Linda definiuje następujące cztery operacje:
in
– odczytanie i jednoczesne usunięcie krotki z przestrzeni krotekrd
– odczytanie krotki z przestrzeni krotek bez jej usunięciaout
– stworzenie krotki i jej umieszczenie w przestrzeni krotekeval
– uruchomienie procesu obliczeniowego oraz stworzenie krotki na podstawie wyniku i jej umieszczenie w przestrzeni krotek
Z punktu widzenia programisty nie ma adresów powiązanych z poszczególnymi krotkami, a o pobraniu krotki decyduje jedynie jej postać, to znaczy liczba, typ i zawartość pól.
Przypisy
edytuj- ↑ David Gelernter's Romance With Linda. The New York Times.
- ↑ Sudhir Ahuja, Nicholas Carriero, David Gelernter. Linda and Friends. „Computer”. 19b (8), s. 26–34, Sierpień 1986. IEEE. DOI: 10.1109/mc.1986.1663305.
Linki zewnętrzne
edytuj- The Linda System (ang.)
- Linda (ang.)
- Coordination Language (ang.)