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

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

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

Тэрмін «бібліятэка падпраграм» адным з першых згадалі Морыс Вінсэнт Уілкс, Уіллер Д., Гілл С. у якасці адной з форм арганізацыі вылічэнняў на камп’ютарыУилкс М., Уиллер Д., Гилл С. «Составление программ для электронных счётных машин». Издательство иностранной литературы, 1953. У іх кнізе бібліятэкай называўся набор «кароткіх, загадзя загатаваных праграм для асобных, часта ўжываных (стандартных) вылічальных аперацый»Волченскова, Надежда Ивановна, Технология многомашинной реализации и жизнеобеспечения библиотек подпрограмм вычислительной математики на языке Фортран, автореферат к диссертации, 1984.

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

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

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

 Статычныя бібліятэкі 
Могуць быць у выглядзе зыходнага тэксту, які падключаецца праграмістам да сваёй праграмы на этапе напісання (напрыклад, для мовы Fortran існуе велізарная колькасць бібліятэк для рашэння розных задач менавіта ў зыходных тэкстах), альбо ў выглядзе аб'ектных файлаў, якія прывязваюцца (лінкуюцца) да выканальнай праграмы на этапе кампіляцыі (у Microsoft Windows такія файлы маюць пашырэнне .lib, у UNIX‐падобных АС — звычайна .a). У выніку праграма ўключае ў сябе ўсе патрэбныя функцыі, што робіць яе аўтаномнай, але павялічвае памер.
Без статычных бібліятэк аб'ектных модуляў (файлаў) немагчыма ўжыванне большасці звычайных кампілюючых моў і сістэм праграмавання: Fortran, Pascal, C, C++ і іншых.

 Гл. таксама 
 Кампаноўшчык
 Аўтазвязванне

 Літаратура