Средите за програмиране са предназначени да автоматизират цялостния процес по създаването, транслирането, тестването, изпълнението, измененията и документирането на програми. В най-опростен вид средата за програмиране включва език за програмиране и съответен транслатор за този език.
Езикът за програмиране е система от правила, с помощта на които се описват величини и действия над тях. Едни от най-разпространените езици за програмиране са FORTRAN, Pascal, Ada, C, C++, Java и други.
Транслаторът е програма, която превежда (анализира и преобразува) програми, написани на даден език за програмиране (входен език), в програми на друг даден език (изходен, обектен език). Основно свойство на преведената (транслираната, обектната) програма е това, че тя е еквивалентна на първоначалната. С транслацията на дадена програма се цели нейното преобразуване в програма, която може да бъде изпълнена от компютър. Транслаторите биват два вида: компилатори и интерпретатори.
Свързващ редактор е програма, която обработва обектната програма, като при необходимост добавя към нея други обектни програми и я преобразува в изпълнима машинна програма.
Изпълнителната система е предназначена да зареди машинната програма в ОП и да ѝ предаде управлението. Тя "следи" нейното изпълнение, обработва на програмните прекъсвания, а след завършване на изпълнението ѝ връща управлението на системата за програмиране.