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