A feladataink elvégzéséhez, hogy igénybe tudjuk venni a számítógép nyújtotta lehetőségeket, különböző szoftverekre van szükségünk. Természetesen ezeket a programokat nem kell megírnunk, a választék széles skálája tárul elénk, ha bemegyünk egy számítástechnikai boltba. Szoftver vásárlásakor fel kell mérnünk, hogy melyik program a legalkalmasabb a feladatunk elvégzésére. Mind szolgáltatásban, mind árban igen széles skálán mozognak, sőt léteznek olyan szabadon terjeszthető „ingyenes” programok is, melyeket még megvásárolni sem szükségesek.
Különbséget kell tenni hardver, és szoftver fogalma között.
Szoftverek működésük szerint lehet tranziens vagy rezidens program.
A hardver a számítógép működését lehetővé tevő elektromos, elektromágneses egységek összessége. A hardver (hardware) angol nyelvterületen a szöget, csavart és egyéb műszaki cikket árusító boltokra van kiírva. A számítástechnikában hardvernek hívják magát a számítógépet és minden kézzel megfogható tartozékát.
A szoftver a hardver-egységeket működtető, vezérlő programok összessége. A szoftver (software) mesterséges szó, azokat a szellemi javakat hívják összefoglalóan így, amelyekkel kihasználhatjuk a hardverben rejlő teljesítményt és lehetőségeket. A szoftver nem megfogható, mint ahogyan egy vers sem az, legfeljebb az őt hordozó papírlapot vehetjük kézbe. A szoftvert egyrészt a gépet működtető programok, másrészt a számítógéppel való feldolgozásra előkészített adatok alkotják. Az adat rendkívül sokféle lehet: szöveg, kép, mozgókép, hang.
A program a számítógépnek szóló utasítások sorozata, amely meghatározza, hogy a számítógép milyen módon végezzen el egy adott feladatot. Ugyancsak programnak nevezzük a programozók által készített forrásprogramot, amely az ember által olvasható formában tárolja a feladat leírását, és azt a kódot, amelyet a számítógép ténylegesen végrehajthat: a futtatható programot, amely a forrásprogramból speciális programok (fordítóprogramok) közreműködésével jön létre. A programokat háttértárolón tároljuk, ha éppen nem futnak. Ha egy programot elindítunk, az operációs rendszer a háttértárolóról betölti az operatív memóriába, a CPU számára átadja a program kezdetének címét, majd a program ezután átveszi a számítógép vezérlését, futni, azaz működni kezd.
Tranziens programnak nevezzük azt a szoftvert, amely hatására egy időszakos, véges folyamat zajlik le, még akkor is, ha a folyamat befejezését a felhasználó határozza meg. A programok nagy többsége ebbe a kategóriába tartozik, ugyanis ilyen programokat elindítva többnyire egyértelműen érzékeljük annak működését. A tranziens program vagy lefut és önállóan kilép, vagy pedig egy menürendszer vagy más hasonló funkció segítségével magunk léphetünk ki belőle.
A rezidens program elindításakor bekerül a memóriába és ott is marad. Mellette még futtathatunk más programokat, sőt az ilyen szoftverek működése közvetlenül többnyire nem is látszik. A rezidens programok közé tartozik a hardverkezelők és –vezérlők, mint a billentyűzetkezelő és más hasonló segédprogramok, de a vírusok nagy része is. Működésüket többnyire a megszakításrendszer vezérli.