Računalno programiranje
Programiranje je pisanje uputa računalu što i kako učiniti, a izvodi se u nekom od programskih jezika. Programiranje je umjetnost i umijeće u stvaranju programa za računala. Stvaranje programa sadrži u sebi pojedine elemente dizajna, umjetnosti, znanosti, matematike kao i inžinjeringa. Osoba koja stvara program zove se programer.
Programski jezici
Glavni članak: Programski jezik
Programi ili upute za računalo pišu se u programskom jeziku upotrebom određene sintakse i pravila koja vrijede za svaki programski jezik (ili tip), koji se potom prevodi u strojni jezik koje je osobito za određeno računalo te je ovisno o njegovoj arhitekturi. Prevođenje s višeg programskog jezika na strojni provodi se putem programa prevodioca (kompajler) ili se naredbe u višem jeziku izravno prevode preko takozvanog p_koda u strojni jezik.
Primjeri programskih jezika:
Primjer prevoditeljskog (interpretiranog) programskog jezika bio bi Basic (izvršava se unutar posebnog programa tzv. prevoditelja (eng. interpreter) koji stoji između stroja računala i programa). Postoje niži i viši programski jezici. Npr. assembler ili strojni kod je primjer nižeg programskog jezika (obično se radi o izravnom pozivanju "naredbi centralne jedinice" (CPU) ili instrukcija kao npr. INC (uvećanje), MOV (kopiranje spremnika (registara)) itd.). Primjer višeg programskog jezika je C koji se mora prvo prevesti, a potom prilagoditi da radi na određenom operacijskom sustavu (eng. compile & link).
Postoje drugi oblici klasifikacija i tipovi programskih jezika od čega je vjerojatno bitno spomenuti objektno-orjentirane jezike (C++, Java, ...) koji su danas najrašireniji u primjeni koristeći razne mehanizme kakvi nisu bili u uporabi u npr. C-u i Pascal-u. Najbitniji pojmovi u tom slučaju su objekt, enkapsulacija, nasljeđivanje itd.
Pri programiranju se također koriste razne metodologije razvoja software-a (programske podrške) pri kojima je dobro početi od vodopadnog modela, spiralnog, prototypinga i sličnih kao jednostavnih modela razvoja. Standardi za razvoj i osiguranje kvalitete (kakvoće) software-a također postoje od kojih je bitno spomenuti ISO standarde. Veće tvrtke koje se bave razvoje software-a obično koriste svoje metodologije razvijane godinama ili prilagođavaju postojeće kako bi pratile njihovu filozofiju razvoja, a sve u svrhu osiguranja kvalitete i uniformnosti razvoja.
Razvoj softvera
Glavni članak: Softverski inženjering
Predlošci
U programiranju postoje razni stilovi i filozofije programiranja koje se zovu predlošcima (eng. paradigm). Izbor pojedinog predloška imat će direktan utjecaj na programski jezik koji je koristi (jer neki programski jezici izravno podržavaju određeni predlošak). Razlikujemo sljedeće predloške:
- sekvencijalno programiranje
- proceduralno programiranje
- funkcijsko programiranje
- objektno orijentirano programiranje.
Za pojedine programske probleme potrebno je korisiti pojedine predloške. Ni jedan od navedenih predlošaka nije stvoren da riješi svaki zadatak.