Бібліятэка (праграмаванне)

Бібліятэка (ад англ.: library) у праграмаванні — зборнік падпраграм ці аб'ектаў, якія прымяняюцца для распрацоўкі праграмнага забеспячэння (ПЗ).

У некаторых мовах праграмавання (напрыклад, у Python) тое ж, што і модуль, у некаторых — некалькі модуляў. З пункту гледжання аперацыйнай сістэмы (АС) і прыкладнога ПЗ бібліятэкі падзяляюцца на дынамічныя і статычныя.

Тэрмін «бібліятэка падпраграм» адным з першых згадалі Морыс Вінсэнт Уілкс, Уіллер Д., Гілл С. у якасці адной з форм арганізацыі вылічэнняў на камп'ютары[1][2]. У іх кнізе бібліятэкай называўся набор «кароткіх, загадзя загатаваных праграм для асобных, часта ўжываных (стандартных) вылічальных аперацый»[3].

Дынамічныя бібліятэкі

Частка асноўнай праграмы, якая загружаецца у АС па запыце працуючай праграмы ў час яе выканання, то бок дынамічна (Dynamic Link Library, DLL у Windows, агульныя аб'екты (англ.: shared objects) у UNIX). Адзін і той жа набор функцый (падпраграм) можа быць выкарастаны адразу ў некалькіх працуючых праграмах, з-за чаго яны маюць яшчэ адну назву — бібліятэкі агульнага карыстання (англ.: shared library). Калі дынамічная бібліятэка загружана ў адрасную прастору самой АС (System Library), то адзіная копія можа быць выкарыстана мноствам працуючых з ёю праграм, што станоўча сказваецца на ступені ўжывання рэсурсу АЗП. Дынамічныя бібліятэкі могуць змяшчаць у сабе як крытычныя для работы праграмы часткі, так і дадатковыя функцыі. Дадатковым плюсам такога падыходу з'яўляецца тое, што дынамічная бібліятэка можны выкарыстоўваць у якасці plugin'а, які пашырае функцыйнасць праграмы. Мінусам з'яўляецца тое, што ў выпадку, калі модуль, які змяшчае ў сабе крытычную частку, адсутнічае, праграма не зможа працягнуць работу.

Дынамічныя бібліятэкі звычайна захоўваюцца ў пэўным месцы і маюць стандартнае пашырэнне. Напрыклад, файлы .library у лагічным томе Libs: у AmigaOS; у Microsoft Windows і OS/2 файлы бібліятэк агульнага карыстання маюць пашырэнне .dll; у UNIX‐падобных АС — звычайна .so; у Mac OS — .dylib.

Пры напісанні праграмы праграмісту досыць указаць транслятару (кампілятару альбо інтэрпрэтатару) мовы праграмавання, што трэбна падключыць пэўную бібліятэку і выкарыстаць функцыю з яе. Ні зыходны тэкст, ні машынны код функцыі ў склад праграмы на гэтым этапе не ўваходзіць.

іншыя мовы
العربية: مكتبة برمجية
eesti: Teek
Bahasa Indonesia: Pustaka perangkat lunak
日本語: ライブラリ
norsk nynorsk: Programvarebibliotek
தமிழ்: நிரலகம்
中文: 函式庫