Так таки вот, что значит таки высокоуровневый, без артефактов исполнителя? Вообще без артефактов исполнителя не бывает в принципе, обычно чтобы избавиться от артефактов исполнителя реального вводят исполнителя виртуального, и завязываются уже на его артефакты.
Кроме того, замена реального исполнителя на виртуальный не делает язык высокоуровневым.
Чтобы глубоко не ударяться в философию
1. Есть понятия абстрагирования и идеализации, позволяющие приближенно рассматривать окружающий наш мир с помощью некоторого числа понятий, концепций, правил, законов...
2. Этот набор понятий... в контексте некоторой задачи можно рассматривать как некоторую систему описывающую данную задачу...
3. Есть понятие алгоритма -как метода решения задач, с определенными свойствами (конечность, детерменированность, массовость)
4. Будем считать что большинство систем встречающихся на практике достаточно описывается с помощью небольшого числа понятий информатики (в контексте задачи - императивная модель со строгой типизацией) (переменная, тип данных, данные, оператор присваивания, цикл, ветвление).
5. Изходя из п.4. Алгоритм можно выразить через понятия информатики.
6. Есть понятие ЯП , как промежуточного звена между человеком и исполнителем. (модель человека и исполнителя надо уточнять)
7. Есть понятие программы(мм), как оторбражения алгоритма, сформированного в терминах п.4 на ЯП п.6
Это основные понятия с которыми приходится иметь дело при решении большинства задач...
артефакты вылазят в п.5... основная проблема заключается в том, что они гадят во все пункты выше....