Wiązanie językowe

W programowaniu i projektowaniu oprogramowania powiązanie jest interfejsem programowania aplikacji (API), który zapewnia kod kleju stworzony specjalnie w celu umożliwienia językowi programowania korzystania z obcej biblioteki lub usługi systemu operacyjnego (takiej, która nie jest natywna dla tego języka).

Charakterystyka

Wiązanie ogólnie odnosi się do mapowania jednej rzeczy na drugą. W kontekście bibliotek oprogramowania powiązania to biblioteki opakowujące , które łączą dwa języki programowania , dzięki czemu biblioteka napisana dla jednego języka może być używana w innym języku. Wiele bibliotek oprogramowania jest napisanych w systemowych językach programowania, takich jak C lub C++ . Aby korzystać z takich bibliotek z innego języka, zwykle wyższego poziomu , takich jak Java , Common Lisp , Scheme , Python lub Lua , należy utworzyć powiązanie z biblioteką w tym języku, co może wymagać ponownej kompilacji kodu języka, w zależności od ilości potrzebnych modyfikacji. Jednak większość języków oferuje interfejs funkcji obcych , taki jak ctypes Pythona i OCamla oraz cffi i uffi Embeddable Common Lisp .

Na przykład powiązania Pythona są używane, gdy istniejąca biblioteka C, napisana w jakimś celu, ma być używana z Pythona. Innym przykładem jest biblioteka libsvn napisana w języku C w celu udostępnienia interfejsu API umożliwiającego dostęp do repozytorium oprogramowania Subversion . Aby uzyskać dostęp do Subversion z poziomu kodu Java, można użyć biblioteki libsvnjavahl , która zależy od zainstalowanej biblioteki libsvn i działa jako pomost między językiem Java i libsvn , zapewniając w ten sposób interfejs API, który wywołuje funkcje z biblioteki libsvn w celu wykonania pracy.

Główne motywy tworzenia powiązań bibliotek obejmują ponowne wykorzystanie oprogramowania , ograniczenie ponownego wdrażania biblioteki w kilku językach oraz trudności w skutecznym wdrażaniu niektórych algorytmów w niektórych językach wysokiego poziomu.

Środowisko uruchomieniowe

Modele obiektów

Wirtualne maszyny

Portowanie

Zobacz też

Linki zewnętrzne