Slika 1: Proces kodiranja
Če hočemo izdelati računalniški program, ga moramo najprej napisati, nato prevesti, zatem povezati s sistemskimi funkcijami in nato izvesti. Na sliki 1 je prikazan proces kodiranja programa. Pisanje programa lahko opravimo v enem od že nameščenih urejevalnikov besedila (npr. Notepad ali Ultraedit) ali pa uporabimo urejevalnik razvojnega okolja, ki nam programsko kodo ustrezno obarva in nas že sproti opozarja na slovnične napake. Za pisanje programov ne uporabljajte urejevalnikov besedila, ki besedilu dodajajo posebne krmilne ukaze (npr. MS Office ali Open office urejevalniki).
Pri pisanju programa se lahko zatipkamo, ali pa ne poznamo dovolj slovnice jezika, zato lahko pride pri njegovem prevajanju do slovničnih napak. Te napake odpravljamo tako dolgo, dokler program ni slovnično povsem pravilen. Program prevaja prevajalnik ali tolmač. Prevajalnik (angl. compiler) prevede celoten program v strojno kodo, medtem ko tolmač slovnično preveri vsako vrstico in jo izvede. V nadaljnjem besedilu bomo opisali proces kodiranja, kjer je uporabljen prevajalnik, saj za programski jezik C++ ne obstajajo tolmači. Ko želimo program prevesti, prevajalnik najprej vključi preprocesor, ki doda v samo kodo programa definicije sistemsko definiranih razredov in funkcij ter razredov in funkcij, ki smo jih mi napisali. Prevajalnik nato izvede prevajanje. V primeru, da prevajalnik v programu odkrije slovnične napake, moramo v urejevalniku te napake odpraviti. Postopek ponavljamo tako dolgo dokler ne odpravimo vseh napak.
Ko smo odpravili vse slovnične napake, zaženemo povezovalnik (angl. linker), ki poveže naš program s strojno kodo sistemskih funkcij in razredov ter strojno kodo funkcij in razredov ki smo jih mi napisali. Če povezovalnik kakšnega razreda ali funkcije ne najde, moramo program dopolniti s temi funkcijami in razredi. V določenih primerih pa smo mogoče napačno napisali direktive preprocesorju, zato moramo te direktive popraviti. Če je prišlo do napak v povezovanju, moramo program tako dolgo prevajati in povezovati, dokler nismo odpravili vseh napak.
Ko smo program povezali, ga lahko zaženemo. To nalogo opravlja nalagalnik ( angl. loader). Pri izvedbi programa vpisujemo vhodne podatke in preverjamo izhodne rezultate. Preden se lotimo preverjanja pravilnosti izvajanja našega programa, si moramo narediti ustrezen testni načrt. V testnem načrtu definiramo množico vhodnih podatkov ter množico izhodnih rezultatov, ki jih dobimo, če vpišemo te vhodne podatke. Program zaganjamo tako dolgo, dokler ne izvedemo vseh testnih scenarijev. Če v kakšnem od scenarijev nismo dobili pravilnega rezultata, program popravimo, ga zopet prevedemo, povežemo in zaženemo. V določenih primerih je odkrivanje nepravilnega delovanhja programa bolj zahtevno, saj ne moremo na enostaven način ugotoviti kje so logične napake. V teh primerih uporabimo očiščevalnik (angl. debugger). Ta nam omogoča, da izvajamo program po korakih. V vsakem koraku lahko preverimo vrednosti spremenljivk in objektov. Na ta način lahko lažje ugotavljamo, na katerem mestu smo naredili logično napako.
Programe lahko seveda pišemo brez ustreznih razvojnih orodij. Uporabljamo lahko samo urejevalnik besedil. Prevajanje, povezovanje in izvajanje pa opravimo s klici ustreznih sistemskih programov v komandni vrstici. Ker pa takšen razvoj zahteva od nas precej več znanja in je tudi bolj časovno potraten, je boljše uporabiti enega od razvojnih orodij. Prikazal vam bom kako lahko uporabite brezplačno razvojno orodje DevC++ in komercialno razvojno orodje Microsoft Visual Studio 2008.
Poglejte si animacijo, ki prikazuje, kako si namestimo in za razvoj našega prvega programa uporabimo razvojno orodje Dev C++.