Programinės bibliotekos

Programinė biblioteka, dar vadinama kaip libas, programavimo biblioteka ar išvis tiesiog biblioteka - tai tiesiog koks nors rinkinys kažkokių tokių pusprogramių, kurios už jus ką nors daro, taip kad jums jau nereiktų programuoti kažko iš naujo. Savo esme programinės bibliotekos yra vienas iš geriausių programavimo išradimų, skirtų tam, kad nereiktų kelis kartus daryti tų pačių dalykų - vis iš naujo, iš naujo ir iš naujo.

Galima įsivaizduoti programines bibliotekas kaip specialias programėles ar kokio nors excel formules, tik tiek, kad iškviečiamas iš programavimo kalbos.

Tiesa, kaip daugelis pastebi, dažnas, ypač nepatyręs programuotojas lengviau jau pats pasirašys kokias nors savo funkcijas, nei aiškinsis kokiose nors bibliotekose, kaip kokias nors gatavas funkcijas naudoti.

Priklausomai nuo paskirties, programinės bibliotekos gali daryti įvairiausius įmanomus dalykus - pvz., teksto apdirbimą, matematinius skaičiavimus, grafikos paišymą ar dar ką nors.


Kaip ir iš kur atsirado programinės bibliotekos

Programinės bibliotekos atsirado dar gana senais laikais, kai tik pirmi programuotojai susivokė, kad kažkaip labai jau užknisa rašyti tuos pačius programų gabalus vis iš naujo, o kartais būna, kad koks nors programos gabalas net labai gudrus, tai vertėtų jį pernaudoti, o klausimas kaip?

Tai pirma tokia kalba, kuri ėmė palaikyti visokių bibliotekų naudojimą, tapo Fortran, tačiau labai greitai tas palaikymas atsirado ir kitose kalbose, kol galų gale gan fundamentaliai buvo prieita Algol, kur jau visa kalba buvo padaryta atsižvelgiant į tokių visokių paprogramių naudojimą ir dalinimąsi. Greitai tas pat idėjas perėmė ir kitos kalbos, kaip kad Pascal, Basic, C kalba bei visos kitos naujesnės.


Programinių bibliotekų platinimas

Bibliotekos gali būti įvairiais pavidalais - gali būti išeitinio kodo lygyje, kur įdedamos kaip inkliūdai ir tiesiog įtraukiamos vykdant, bet gali būti ir dvejetainės, jau sukompiliuotos, kurios yra gatavas kodas, pasijungiamas linkinant ar vykdant. Linkinant pajungiamos bibliotekos vadinamos statinėmis, nes jos prijungiamos prie gatavo vykdomojo failo, o tos, kurios pasijungiamos vykdant - vadinamos dinaminėmis.

Visokiose UNIX ar Linux sistemose visokios bibliotekos dažniausiai atrandamos kaip failai, turintys failo išplėtimą ".so", tuo tarpu Windows - kaip failai su išplėtimu ".dll".

Programuojant kokia nors C kalba ar C++, programinės bibliotekos įtraukiamos per kokius nors ".h" failus ir include direktyvas, skirtas preprocesoriui. Bet analogiškus įrankius bibliotekų įtraukimui turi praktiškai visos kitos kalbos. Neretai galima į viena kalba rašomą programą įtraukti bibliotekas, parašytas visai kita programavimo kalba.

Kai kurios kalbos, kaip pvz., Python, savaime yra beprasmės, bet išpopuliarėjo tiesiog dėl to, kad su jomis buvo platinamos didelės ir daug dalykų galinčios daryti programinės bibliotekos. Taigi, geros bibliotekos kartais gali būti vertos daugiau, nei kokia nors programavimo kalba, su kuria tos bibliotekos yra naudojamos.


Programinių bibliotekų veikimas

Savo veikimu bibliotekos yra skirstomos į dvi rūšis:

  • Statinės bibliotekos - tai tokios, kurios prikabinamos prie sunkompiliuotos programos ir tampa jos dalimi
  • Dinaminės bibliotekos - tai tokios, kurios guli sau atskirai ir prilinkinamos prie programos tik jos vykdymo metu

Senais laikais įprasčiausiu bibliotekų naudojimo variantu buvo statinės bibliotekos - jų pliusas buvo tai, kad programa visada visas jai reikalingas bibliotekas turi su savimi ir nieko galvoti dėl to nereikia. Bet problema čia buvo ta, kad programos šitaip užimdavo daug vietos, o taip pat jų nesigaudavo atnaujinti, jei išlįsdavo kokie nors bugai.

Vėlesniais laikais išplito visokios dinaminės bibliotekos, kurių esmė - kad prie programos jas prijungia operacinė sistema jau vykdymo metu. Tokias bibliotekas galima pakeisti į naujesnes - ir taip atsinaujins ir pati programa. O didžiausias pliusas - kad tas pačias bibliotekas gali naudoti daug skirtingų programų, o tai reiškia, kad šitaip jos visos (bent teoriškai) užims gerokai mažiau vietos.


Dar žr.

  • Vidžetai - tokios bibliotekos, kurios skirtos grafinių UI elementų atvaizdavimui
    • Athena - bene pirmas standartizuotas vidžetų rinkinys, pradėtas kurti dar apie 1983 metus
    • Motif - vienas iš senų, garsesnių vidžetų rinkinių
  • libc - svarbiausias C kalbos ir UNIX tipo OS bibliotekų rinkinys