Рачунар не може да функционише а да му софтвер не каже шта да предузме.
Рачунарски софтвер се састоји од низа инструкција на програмском језику; програмер усклађује те изјаве у облику који рачунарски процесор може да разуме. Прављење софтвера захтева познавање рачунарских језика, синтаксе и логике да би се процес завршио од почетка до краја. Поред потребног техничког знања, програмер мора бити упознат са специјализованим софтверским алатима потребним у облику едитора, компајлера и дебагера.
Контролне изјаве
Израда рачунарског софтвера почиње програмеровим избором три класе контролних исказа. Контролни искази обрађују податке, доносе одлуке и понављају групе инструкција. Структура секвенце описује наредбе програма који се извршавају један за другим. Програмер убацује изразе гранања у програм где год програм треба да прати два или више токова извршавања на основу процене дела података. Коначна група контролних структура понавља исказ или групу исказа одређени број пута или све док се одређени догађај не догоди.
Видео дана
Упутства за програмирање
Кључни концепт који програмер мора да разуме је да ће рачунар радити само оно што му она каже. Сва програмска упутства морају да извршавају задатак корак по корак. На пример, сабирање два броја захтева неколико корака: Узмите један број, а затим други, додајте први број другом и ставите овај збир на нову меморијску локацију. Програмер не може да преузме ниједан део аритметичке изјаве.
Понављање овог проблема са сабирањем захтева да га програмер постави унутар конструкције која се зове петља. Петља додаје неке нове варијабле проблему као што је колико пута треба поновити наредбе сабирања. Без разматрања овог захтева, програм може ући у бесконачну петљу која руши рачунар.
Многе програмске операције ће пратити један низ инструкција ако је услов тачан (нпр. „Да ли је напољу ветровито?“) и други низ ако је нетачан. Структуре управљања гранањем омогућавају ову могућност унутар програма.
Избор програмског језика
Програмери морају изабрати језик на којем ће радити између стотина доступних језика. Од 2010. најпопуларнији језици су Ц++, Висуал Басиц и Јава. Ако програмер жели да усмери свој софтвер на Интернет окружење, ПХП и Руби чине одличан избор. Сваки од ових језика је релативно сложен и програмер би требало да планира да проведе неко време у учењу специфичне синтаксе изабраног језика пре него што крене да прави део софтвера.
Најважнији алат који програмер мора изабрати да би направио софтвер је компајлер. Модерна развојна окружења комбинују све софтверске алате потребне за развој програма у један пакет. Програмер ће користити уређивач да напише програмске изјаве и сачува их у датотеку. Компајлер ће прочитати ову датотеку, проверавајући синтаксу док то ради, а затим претворити програмске изразе у упутства која специфични рачунарски процесор и оперативни систем могу да разумеју. Резултат је извршна датотека коју програмер може користити или продати. Програмери могу да користе појединачне алате (уређивач, компајлер, итд.), али све-у-једном пакет чини процес много практичнијим.
Припрема за програм
Израда рачунарског софтвера захтева одговарајуће алате, разумевање компјутерског језика и способност логичког размишљања. Софтвер ради са чврстим логичким ограничењима без сивих зона; процесор рачунара неће сам погађати нити доносити одлуке. Програмер треба да се припреми да размисли шта жели да постигне својим дизајном пре него што седне за тастатуру и створи софтверско ремек-дело.