Razlika između verzija stranice "Biblioteka (računarstvo)"

[pregledana izmjena][pregledana izmjena]
Uklonjeni sadržaj Dodani sadržaj
Rescuing 1 sources and submitting 0 for archiving.) #IABot (v2.0.7
sitne prepravke
Red 1:
[[Datoteka:Ogg_vorbis_libs_and_application_dia.svg|desno|mini|277x277piksel|Ilustracija aplikacije koju koristi datoteka Vorbisove biblioteke za pokretanje [[Ogg Vorbis]] datoteke]]
 
U [[Računarstvo|računarstvu]], '''biblioteka''' predstavlja kolekciju [[Nepromjenljivi resursi|nepromjenljivihnepromjenjivih resursa]] koju koriste [[Računarski program|programski jezici]], npr. za [[razvoj softvera]]. Biblioteke mogu da sadrže podatke za podešavanje, dokumentaciju, pomoćne podatke, poruke u šablonima, neke stare kodove i [[Potprogram|potprograme]], [[Klasa (računarstvo)|klase]], [[Vrijednosti (računarstvo)|vrijednosti]] ili [[Rad sa datotekama|tipske]] specifikacije. U [[IBM 360/operativni sistem|IBM-ovom 360]] i njegovim novijim verzijama, biblioteke su određene kao [[Grupa podataka|odvojene grupe podataka]].
 
Biblioteka redstavljapredstavlja kolekciju izvršavanja različitih ponašanja, napisanih u okviru programskih jezika. Pod "ponašanje" misli se na dobro definisandefiniran pristup uz pomoć kojeg se uvodi ponašanje. Ovo znači da dok god razvijeniji programi koriste biblioteku za pravljenje [[Sistemski poziv|sistemskih poziva]], nije potrebno ponovo pisati iste sistemske pozive više puta. Pored toga, ponašanje omogućava ponovnu upotrebu od strane više nezavisnih programa. Program uvodi bibliotekom osigurano ponašanje preko mehanizma datog programa. Na primjer, u jednostavnom [[Imperativno programiranje|imperativnom programskom jeziku]] kao što je [[C (programski jezik)|C]], ponašanje u biblioteci se poziva koritšenjemkorištenjem C funkcije pozivanja. Ono što razlikuje poziv u biblioteci od drugih funkcija istog programa, jeste način na koji je kod organizovanorganiziran u sistemu.
 
''Kod'' biblioteke je organizovanorganiziran na takav način da se može koristiti od strane više različitih programa koji nemaju nikakve veze jedan sa drugim, dok je ''kod'' dio programa organizovanorganiziran tako da se može koristiti samo od strane jednog programa. Ova razlika može dovesti do hijerarhijske notacije kada program brzo raste, kao što je slučaj sa programom koji je sačinjen od više miliona linija koda. U ovom slučaju, postoje biblioteke koje se ponovo koriste od strane manjih nezavisnih dijelova velikog programa. Izdvajajuća karakteristika je ta da je biblioteka organizovana za potrebe koje se mogu ponovo koristiti od strane nezavisnih programa ili potprograma. Korisnik jedino mora da zna pristup, ali ne i unutrašnje detalje biblioteke.
 
Cilj biblioteke je da omogući ponovno korištenje ponašanja. Kada program pozove biblioteku, on pridobijapridobije ponašanje te biblioteke, tako da nema potrebe da program sam uvodi ponašanje. Biblioteke omogućavaju podjelu koda u [[Modularno programiranje|modularnoj]] formi i laku distribuciju koda.
 
Ponašanje koje je implementirano od strane biblioteke, može biti povezano sa pozivajućim programom na [[Različite faze programa|različitim fazama programa]]. Ako se kodu biblioteke pristupa tokom pravljenja pozivajućeg programa, onda se biblioteka naziva - [[statična biblioteka]]. Alternativa je da se napravi izvršavanje pozivajućeg programa i da se ono distribuira odvojeno od biblioteke. Ponašanje biblioteke je povezano nakon izvršavanja kao dio početnog procesa izvršavanja, ili na polovini izvršavanja. U ovom slučaju biblioteka se naziva - [[dinamična biblioteka]]. Dinamična bibliotekaOna se može učitati i linkovati kao dio pripremanja programa za izvršavanje uz pomoć [[Linker|linkera]]. U drugom slučaju, na polovini izvršavanja, aplikacija može zatražiti [[učitavanje]] traženog modula.
 
Većina [[Prevedeni programski jezik|prevedenih programskih jezika]] ima [[Standardna biblioteka|standardnu biblioteku]], iako programeri takođe mogu da kreiraju njihove sopstvenevlastite biblioteke. Većina modernih [[Softverski sistem|softverskih sistema]] pravi biblioteke koje dozvoljavaju većinu sistemskih usluga. Takve biblioteke imaju [[Modifikovanje|modifikovane]] usluge koje traže moderne aplikacije.  Većina kodova korištenih od stranekoje moderne aplikacije jekoriste napravljene napravljenosu u takvim sistemima biblioteka.
 
== Historija ==
Najraniji koncepti programiranja povezanih sa bibliotekama, nastojali su da odvoje definiciju podataka od sprovođenja programa. [[JOVIAL]] je učinio koncept komunikacionih "bazena" popularnim 1959. godine, iako je usvojio ideju iz većih sistemskih SAGE softvera. Prateći principe odvojenih problema i sakrivanje informacija u računarstvu, "Svrha komunikacionog bazena je bila da omogući dijeljenje podataka među programima, uz pomoć centralizovanjacentraliziranja opisa podataka".<ref name="Wexelblat_1981_369">{{harvnb|Wexelblat|1981|p=369}}</ref>
 
[[COBOL]] je također sadržao "jednostavne mogućnosti za sistemske biblioteke" 1959. godine.<ref name="Wexelblat_1981_274">{{harvnb|Wexelblat|1981|p=274}}</ref>
 
Drugi veliki doprinos konceptu savremene biblioteke se ogleda u formi inovacije [[Potprogram|potprograma]] [[Fortran|Fortrana]]. FortranoviNjegovi potprogrami mogu biti sastavljeni tako da ne zavise jedan od drugog, ali kompajler nema [[linker]]. Samim tim, prije uvođenja modula u Fortran, [[Sistem tipova|proveraprovjera tipova]] između Fotranovihnjegovih potprograma je bila nemoguća.{{sfn|Wilson|Clark|1988|p=126}}
 
[[Simula 67]] je bio uticajni prvi [[Objektno-orijentirano programiranje|objektno orijentisani programski jezik]], a njegove [[klase]] su bile približno slične modernom konceptu koji se koristi u [[Java (programski jezik)|Javi]], [[C++]], i [[C Sharp|C#]]. Klasni koncept Simule predstavlja noviju verziju paketa programskog jezika [[Ada (programski jezik)|Ada]] i modula [[Module-2]]{{sfn|Wilson|Clark|1988|p=52}} Čak i kada je napravljen (1965. godine), Simulanjene klase su se mogle uključivati u fajlovedatoteke biblioteka i dodavati u vrijeme kompajliranja.{{sfn|Wexelblat|1981|p=716}}
 
== Također pogledajte ==