Существуют ли какие-либо языки программирования, предназначенные для определения решения данной проблемы вместо определения инструкций для ее решения? Таким образом, можно определить, как должно выглядеть решение или конечный результат, а интерпретатор языка определит, как достичь этого результата. Глядя на список языков программирования , я не уверен, как вообще начать исследовать это.
Наилучшие примеры, которые я сейчас могу придумать, чтобы проиллюстрировать то, что я пытаюсь задать, - это SQL и MapReduce, хотя оба они являются своего рода мини-языками, предназначенными для получения данных. Но при написании операторов SQL или MapReduce вы определяете конечный результат, и БД решает, как лучше поступить с конечным набором результатов.
Я мог бы видеть, что эти типы языков, если они существуют, используются для обработки большого количества данных или поиска решений для ряда уравнений. Язык мечты мог бы интерпретировать определенную проблему, определить, какие части можно распараллелить, и выполнить решение для нескольких процессов / ядер / блоков.