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