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
Współ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 krotek
rd
– odczytanie krotki z przestrzeni krotek bez jej usunięcia
out
– stworzenie krotki i jej umieszczenie w przestrzeni krotek
eval
– 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
Linki zewnętrzne