Возможности ЯП vs Тьюринг-полнота
От: Shmj Ниоткуда  
Дата: 19.11.21 06:37
Оценка: -1 :)
Такой вопрос возник.

Вот есть некий полноценный Тьюринг-полный ЯП. На нем можно реализовать любой из возможных алгоритмов.

Однако же в этом языке нет возможности доступа к API операционной системы ни в каком виде. Т.е. вообще никак.

В память записать можно, действия с данными выполнить можно. А вот как-то сообщить пользователю нет — т.к. нет доступа ни к клаве, ни к экрану, ни к динамику, ни к файлам — вообще ни к чему.

Вроде язык тьюринг- полный — но бесполезный.

Возьмем JavaScript, для примера, который исполняется в песочнице браузера. Мы не можем прочесть произвольный файл на диске — но у нас есть возможность манипулировать HTML-разметкой окна браузера, доступ к хранилищу браузера, возможность делать сетевые запросы.

С т.з. языка — это просто некие внешние функции. Просто функции. И они вообще никак ни на что не влияют с точки зрения вычислимости.

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

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

В тех или иных платформах/языках данные функции могут быть реализованы лишь частично.

Как это называется? Как называются возможности языка с т.з. реализации доступа к системе?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.