Svatko tko koristi računalo ili mobilnu opremu, na ovaj ili onaj način, instalira aplikacije koje obavljaju određeni zadatak. Ali ne svaki korisnik jasno razumije što je računalni program, kako radi, kako je stvoren, itd. Potrebno je razjasniti ovo pitanje.
Ako krenemo od opće definicije, koju nude mnogi internetski izvori, iz nekog razloga koncept programa ili aplikacije u većini je slučajeva povezan isključivo s izvršnim datotekama formata EXE, COM, itd. Ne slažemo se s ovom tvrdnjom.
Gotovo svi suvremeni računalni programi, čija će klasifikacijska lista biti dana kasnije, sami ne rade. Da, postoji izvršna datoteka, ali to nije dovoljno. Potrebne su nam i dodatne komponente koje se učitavaju u isti RAM.
Međutim, sam koncept programa, kao takav, može se svesti na činjenicu da se radi o određenom skupu naredbi i uputa koje se prosljeđuju središnjem procesoru za obradu ili izvođenje odgovarajućih izračuna, i to u strogo definiranom nizu.
Da bi stroj razumio naredbu poslanu u određenoj točki za obradu i izvršavanje, bez obzira na programski jezik u kojem je aplikacija napisana, koristi se univerzalno sredstvo - binarni kod koji predstavlja niz nula i jedinica. Također možete pronaći korištenje ternarnog ili heksadecimalnog koda, ali, u pravilu, trenutno je njihova uporaba jako ograničena.
S obzirom na klasifikaciju bilo kojeg softvera, danas postoji dosta sustava, uključujući podjelu po tipu.
Međutim, sljedeći računalni programi razlikuju se u svim klasifikacijskim sustavima (popis je naveden u nastavku):
Ne biste trebali biti iznenađeni da postoje čak i operativni sustavi ili BIOS na popisu. Svaki moderni OS osigurava interakciju korisnika sa softverom i hardverom računala putem komandnog ili grafičkog sučelja, a primarni sustav je odgovoran za održavanje informacija o svim hardverskim komponentama i opremi za testiranje u fazi pokretanja računala.
Nema smisla elaborirati razvoj, jer će vam ovdje možda trebati barem osnovno znanje programskih jezika.
Dovoljno je reći da se izrada računalnih programa svodi na pisanje koda na samom jeziku (ili korištenje razvojnih okruženja, na primjer, Java SDK), testiranje aplikacije u samom okruženju i kompiliranje (pretvaranje u kod koji prepoznaje stroj).
Korisnik računalnih programa ne razumije uvijek kako sve funkcionira. Najjednostavniji programi koji se sastoje od jedne izvršne datoteke idu u zaborav. Danas, bilo koji manje ili više ozbiljan program koristi izvršne datoteke samo za pokretanje glavnog sučelja, nakon čega se dinamičke knjižnice koje sadrže izvršne kodove i naredbe učitavaju u RAM, a upravljački programi za hardver računala se pozivaju da koriste svoje odgovarajuće funkcije.
Što se tiče aplikacija, ovo objašnjenje je vrlo primitivno, međutim, ako se ne upustite u bit sistemskih procesa, čak će i običan korisnik razumjeti kako sve to funkcionira.
Korištenje računalnih programa u većini slučajeva svodi se na pokretanje izvršne datoteke .exe formata, koji se stvara nakon instalacije aplikacije na računalu (drugi formati se koriste u mobilnim uređajima). Instalacija pruža iste izvršne komponente, koje se obično nazivaju Setup.exe (za ažuriranja sustava Setup.msi). Ali to nije uvijek slučaj.
Na primjer, neke softverske komponente, predstavljene isključivo u obliku dinamičkih DLL-ova, mogu se izvoditi samo u drugom softverskom okruženju.
Najupečatljiviji primjer su VST sintisajzeri i efekti, povezani s glazbenim urednicima i sekvencerima putem odgovarajućeg sučelja ili hosta. Što je računalni program u tom smislu? To nije čak ni program, već komponenta u kojoj se zapisuje skup naredbi koji se izvršava kada se poveže s sučeljem i učita u RAM. Samo iz "RAM-a" poruka se šalje za obradu od strane središnjeg procesora, a ne obrnuto, kao u slučaju izvršnih datoteka.
Jasno je da je za stvaranje neke vrste univerzalne aplikacije koja bi radila apsolutno na svim poznatim operativnim sustavima i uređajima, čak i načelno nemoguće. Ipak, takvi pokušaji su napravljeni, i sasvim neuspješno (barem u sustavu Windows postoji nešto slično).
Što su samo usluge u oblaku koje omogućuju pristup pohranjivanju ili uređivanju bilo koje vrste informacija bez fizičke instalacije softvera na korisničkom terminalu. Repozitorijima ili urednicima se može pristupiti s bilo kojeg uređaji (PC, prijenosna računala, pametni telefoni, tableti). O multimediji se uopće ne raspravlja. Kroz web sučelje korisnik bilo kojeg uređaja dobiva pristup medijskom sadržaju (istom hostingu usluge YouTube).
Kao što vidimo, pitanje o tome što je računalni program ima dosta odgovora. S jedne strane, čini se da je to skup naredbi, međutim, ako pitanje pogledate malo šire, možete zaključiti da se radi o skupu kodova ili komponenti koje određuju ponašanje operativnog sustava u cjelini i operacije koje obavlja hardver.
Stoga je lako zaključiti da bilo koji program ili aplikacija ne košta ništa po sebi ako nema softverskog okruženja (OS) u kojem mogu raditi, ili uređaja instaliranih na matičnoj ploči, čije su funkcije potrebne za izvršavanje određenih zadatke za trenutni trenutak.
Ostaje dodati da su ovdje dane samo najjednostavnije interpretacije računalnih programa, načela njihovog stvaranja i primjene. Zapravo, sve je mnogo složenije, razmatranje svih aspekata može potrajati puno vremena. Međutim, ako se temeljito upustite u relevantnu literaturu, pronalaženje detaljnih uputa za određeni softverski proizvod nije tako teško (u pravilu takvi opisi postoje čak i na mjestima za preuzimanje kao preliminarne informacije o mogućnostima preuzetih aplikacija).