Računalni softver je program koji računalu govori što treba učiniti. Ove upute mogu biti interne naredbe, kao što je ažuriranje sata sustava, ili odgovor na vanjski ulaz primljen s tipkovnice ili miša. Iako postoji mnogo različitih vrsta softvera napravljenih i s otvorenim kodom i s vlasničkim standardima, programiranje se uglavnom svodi na nekoliko osnovnih pravila.
Hardver i softver
Temeljna razlika između hardvera i softvera je u tome što je prvi opipljiv dok drugi nije. Hardver je sam stroj i obavlja sav fizički posao, dok softver govori različitim hardverskim komponentama što da rade i kako da međusobno komuniciraju. To omogućuje računalima da se prilagode novim zadacima ili da instaliraju novi hardver. Dok hardver uključuje stvari kao što su monitori, središnje procesorske jedinice (CPU), tipkovnice i miševi; softver uključuje stvari poput programa za obradu teksta, operativnih sustava i igara.
Tipovi
Postoje dvije glavne vrste računalnog softvera: sustavni i aplikacijski. Prvi tip se koristi samo za pokretanje hardvera, dok se drugi koristi za druge stvari. Glavne vrste softvera sustava su operativni sustavi, poput Windows™ OS X ili Linuxa; i upravljački programi, koji su programi koji računalu omogućuju interakciju s drugim uređajima, poput pisača i video kartica. Postoji mnogo različitih vrsta aplikacijskog softvera, uključujući igre, media playere, programe za obradu teksta, antivirusne programe i aplikacije za izradu novih programa.
Kako to radi
Hardver razumije samo dva osnovna koncepta, uključeno i isključeno, koji su u binarnom jeziku predstavljeni kao 1 i 0. Softver djeluje kao prevoditelj između ljudskih jezika i binarne, što omogućuje hardveru da razumije upute koje se unose u njega. Programeri pišu naredbe zvane izvorni kod u programskim jezicima koje su slične onome što bi netko mogao koristiti u svakodnevnom govoru. Drugi program nazvan kompajler se tada koristi za transformaciju naredbi izvornog koda u binarne. Rezultat je izvršni računalni program.
Open Source vs. Proprietary
Programeri stvaraju ili open source ili vlasnički računalni softver. Prvi tip mogu uređivati i prilagođavati korisnici, dok je drugi zaštićen i nije namijenjen uređivanju od strane osoba izvan tvrtke koja ga prodaje. Dok su programi otvorenog koda obično besplatni, vlasnički su licencirani distributerima i moraju se platiti.
Obje vrste općenito imaju usporedivu kvalitetu programiranja, ali ispravci za bugove općenito dolaze brže za proizvode otvorenog koda nego za vlasničke. Također, neki ljudi radije koriste aplikacije otvorenog koda jer mogu osjetiti vlasništvo nad konačnim projektom ili smatraju da tvrtke za računalni softver stvaraju monopole i žele alternative. Drugi preferiraju programe zatvorenog koda jer su ponekad stabilniji ili manje ranjivi na hakere, često dolaze u paketima i dolaze s korisničkom uslugom tvrtke.