Un program de calculator este un program care permite proprietarului să-și folosească computerul. Hardware-ul constă din toate componentele fizice ale unui computer, iar software-ul constă din programele care sunt compilate pentru a permite hardware-ului să funcționeze. Tipurile de software includ sisteme de operare, aplicații și compilatoare pentru a scrie programe de calculator. Majoritatea software-ului este conceput pentru a fi ușor de instalat și utilizat, astfel încât orice consumator să poată avea acces la el. Alte tipuri sunt mai avansate și necesită cunoștințe de limbaje de programare pentru calculatoare pentru a le utiliza.
Sistemul de operare este adesea considerat cea mai importantă piesă de software pentru computer. Acesta este un program care permite utilizatorului să comunice cu componentele interne ale computerului prin intrări precum mouse și tastatură și să transmită imagini virtuale către un monitor de computer. Windows, Macintosh și Linux sunt exemple de sisteme de operare. Aceste sisteme permit utilizatorului să ruleze alte programe software, să imprime articole și să navigheze pe Internet, printre alte sarcini. De asemenea, ajută toate componentele interne ale computerului să funcționeze fără probleme, permițându-le să comunice între ele și diferite intrări ale utilizatorului, partiționarea memoriei și lansarea și închiderea diferitelor programe software.
O aplicație este o bucată de software de calculator care este adăugată deasupra sistemului de operare. Termenul program de calculator se referă cel mai adesea la aplicații. Acestea pot include programe de procesare de text, browsere de internet și majoritatea altor tipuri de programe pentru consumatori. Calculatoarele sunt de obicei vândute cu unele aplicații deja instalate, cum ar fi un procesor de text, un browser de internet și un player de muzică. Consumatorii pot achiziționa aplicații suplimentare descarcându-le de pe Internet sau cumpărându-le sub formă de CD-ROM-uri, DVD-uri și alte formate. Utilizatorul trebuie apoi să instaleze aplicația pentru ca aceasta să ruleze. Unele aplicații trebuie să fie lansate și operate de utilizator, cum ar fi programe de editare video sau de contabilitate. Alte componente de software pentru computer rulează în fundal fără prea multă notificare, cum ar fi programele de protecție împotriva virușilor.
Utilizatorii mai avansați vor achiziționa uneori software de computer care poate fi folosit pentru a scrie, testa și implementa noi programe de calculator. Aceste programe vin adesea cu un compilator software care este specific unui limbaj de programare individual, cum ar fi Java sau Visual Basic. Folosind acest software, un programator poate scrie un program de calculator, îl poate testa și poate efectua alte funcții avansate.