Кіріспе

Басқа бағдарламалау тілінде жазылған басқа кітапхананы пайдалануға мүмкіндік беретін бағдарламалық кітапхана. Бағдарламалау және бағдарламалық жасақтауда байланыс – бұл бағдарламалау тіліне шетелдік кітапхананы немесе операциялық жүйе қызметін (сол тілге түпкілікті емес) пайдалануға арналған, арнайы жасалған "көпір" кодты қамтамасыз ететін қолданбалы бағдарламалау интерфейсі (API).

Сипаттамалары

Байланыстыру, әдетте, бір нәрсенің екіншісімен сәйкестігін білдіреді. Бағдарламалық кітапханалар контекстінде, байланыстар – екі бағдарламалау тілін байланыстыратын аралық кітапханалар, соның арқасында бір тіл үшін жазылған кітапхананы басқа тілде қолдануға болады. Көптеген бағдарламалық кітапханалар C немесе C++ сияқты жүйелік бағдарламалау тілдерінде жазылған. Мұндай кітапханаларды басқа, әдетте жоғары деңгейлі тілдерден, мысалы Java, Common Lisp, Scheme, Python немесе Lua тілдерінен пайдалану үшін, сол тілде кітапханаға байланыстыру жасалуы керек, бұл жағдайда қажетті өзгертулерге байланысты тілдің кодын қайта құрастыру қажет болуы мүмкін. Дегенмен, көптеген тілдер Python және OCaml-дың ctypes, Embeddable Common Lisp-тың cffi және uffi сияқты шетелдік функция интерфейсін ұсынады. Мысалы, Python байланыстары белгілі бір мақсат үшін жазылған C кітапханасын Python-нан пайдаланғанда қолданылады. Тағы бір мысал – Subversion бағдарламалық репозиторийіне қол жеткізу үшін API ұсынатын C тілінде жазылған libsvn. Subversion-ға Java кодынан қол жеткізу үшін libsvnjavahl-ды пайдалануға болады, ол libsvn-нің орнатылған болуын қажет етеді және Java тілі мен libsvn арасындағы көпір ретінде әрекет етеді, осылайша жұмысты орындау үшін libsvn-нен функцияларды шақыратын API-ді ұсынады. Кітапханаларды байланыстырудың басты себептері – бағдарламалық жасақтаманы қайта пайдалану, бірнеше тілде кітапхананы қайта іске асыру қажеттілігін азайту және кейбір жоғары деңгейлі тілдерде алгоритмдерді тиімді іске асырудың қиындығы.