Они делают свое дело на уровне «сборки», где вы получаете приемлемую скорость без потери мобильности. Я думаю, что они предоставляют виртуальную машину, чтобы получить сбалансированный обмен. Либо вы выполняете код высокого уровня (код SQL **) как язык высокого уровня, и вы теряете скорость, но вы получаете удобство. Другой способ - создать платформо-специфический (нативный) код, который будет работать намного быстрее по сравнению с интерпретируемым, но это создает большие трудности для широко распространенной библиотеки, которая работает там, где существует ANSI-C.
** Конечно, это не обязательно должен быть SQL-код. Я думаю , что императивное представление гораздо лучше подходит для исполнения. В любом случае, это представление все еще является представлением очень высокого уровня по сравнению с «кодом операции».