Понятие сложности интуитивно ассоциируется с ресурсами, необходимыми для решения задачи. Задача считается простой, если невелики все ресурсы, используемые для ее решения. Если хотя бы один из ресурсов, необходимых для решения, очень велик или оказывается на пределе, доступном для использования, то такую задачу вряд ли назовут простой. Программа простая по количеству модулей и длине может оказаться сложной по объему вычислений или по числу обрабатываемых переменных, и наоборот. Сложность программ для систем реального времени преимущественно определяется допустимым временем отклика, а для информационно-поисковых систем - количеством типов обрабатываемых переменных.