По мере усиления зависимости общества от вычислительных систем надежность и гибкость последних приобретает все большее и большее значение. Одним из последствий этой зависимости является растущее беспокойство о высоком качестве программного обеспечения и возможности его быстрой разработки, реализации, модификации. Используемый в некотором проекте язык программирования в значительной степени определяет скорость разработки и реализации, простоту сопровождения, возможность переноса создаваемого в рамках этого проекта программного обеспечения.