Ang computer program ay ang proseso kung saan ang source code ng mga programa sa computer ay dinisenyo, naka-encode, nalinis at protektado. Sa pamamagitan ng programa, ang mga hakbang na susundin para sa paglikha ng source code ng mga programa sa computer ay idinidikta. Ayon sa kanila ang code ay nakasulat, nasubok at pinong.
Ang layunin ng programa ay upang lumikha ng software, na pagkatapos ay direktang naisasagawa ng hardware ng computer, o sa pamamagitan ng ibang programa.
Ang programming ay ginagabayan ng isang serye ng mga panuntunan at isang maliit na hanay ng mga utos, tagubilin, at expression na may posibilidad na maging kahawig ng isang natural na wika. Ang wika ng programa ay ang lahat ng mga patakaran o pamantayan, simbolo at partikular na mga salita na ginamit upang lumikha ng isang programa at kasama nito, nag-aalok ng isang solusyon sa isang tukoy na problema.
Ang pananalita sa wika ay responsable para sa sumusunod na computer na hakbang-hakbang ang mga utos na dinisenyo ng programmer sa algorithm. Sa pamamagitan nito, nauunawaan na ang wika ng programa ay isang uri ng tagapamagitan sa pagitan ng computer at ng gumagamit, upang ang huli ay maaaring tumugon sa mga problema sa pamamagitan ng computer at paggamit ng mga salita (pagpapaandar), na binibigyang kahulugan ang nasabing programa sa computer para sa pagsasakatuparan ng gawaing iyon.
Ngayon, depende sa wikang pipiliin mo, maaari mong pag-usapan ang uri ng programang isasagawa. Ang ilan sa kanila ay:
Sunud-sunod na programa: ay ang mga program na idinisenyo na may mga alituntunin na sunud-sunod na sunud-sunod. Halimbawa: Cobol, Basic.
Ang istrakturang nakabalangkas: isinasaalang-alang sa ganitong paraan, kapag ang programa ay dinisenyo ng mga modyul. Ang bawat modyul ay gumaganap ng isang espesyal na gawain, at kung kinakailangan ang gawaing iyon, ang modyul na iyon ay simpleng tawagan. Halimbawa: Turbo Pascal, Ada, Modula.
Ang program na nakatuon sa object: ay ang mga wikang pinapayagan ang pagpapatupad ng mga bagay sa loob ng disenyo ng pareho at ang user ay maaaring mag-paste ng isang code ng programa sa bawat object. Ang ilan sa mga ito ay: Java, Xml, bukod sa iba pa.
Lohikal o natural na programa sa wika: ang mga program na idinisenyo gamit ang mga interface, sa paraang maaaring magbigay ang gumagamit ng mga order sa makina gamit ang isang simpleng wika. Halimbawa: Prolog.
Programming ng artipisyal na intelihensiya: ito ang mga program na pinakamalapit sa intelihensiya ng tao, dahil may kakayahan silang paunlarin ang kaalaman. Ang ganitong uri ng wika ay gumagana sa isang katulad na paraan sa pag-iisip ng tao.