Omenili smo že, da komuniciramo z računalnikom preko vhodno/izhodnih enot in da se moramo mi naučiti jezika, s katerim lahko posredujemo naše želje računalniku.
Programe, ki omogočajo komunikacijo med človekom in računalnikom, med procesorjem in perifernimi enotami ter vse skupaj povezujejo v “živo”, skladno delujočo celoto, imenujemo operacijski sistem. Smoter operacijskega sistema je razbremeniti uporabnika in čimbolje izkoristiti zmogljivosti računalnika. Kot dodatek operacijskemu sistemu so uslužnostni programi (utilities), ki jih velikokrat poimenujemo kar ukazi operacijskega sistema. Ti nam služijo za delo s podatkovnimi zbirkami na perifernih pomnilnih medijih.
Med programsko opremo spada tudi cel spekter prevajalnikov. Najbolj uporabljani so prevajalniki za višje programirne jezike. Vsak jezik ima svojo slovnico, ki jo prevajalnik prevede v stroju “razumljiv” jezik. Jezik višjih programirnih jezikov je v omejenem okviru zelo blizu našemu naravnemu razmišljanju in izražanju problema.
S pomočjo najrazličnejših jezikov lahko pišemo algoritme za rešitev nekega določenega problema. Take programe imenujemo aplikacije. Uporaba aplikacij je tudi za neračunalnikarja enostavna.