Тарпит Тьюринга (или тарпит Тьюринга ) — это любой язык программирования или компьютерный интерфейс , который обеспечивает гибкость в функциях, но сложен в изучении и использовании, поскольку он предлагает лишь незначительную поддержку для выполнения распространенных задач. [1] Фраза была придумана в 1982 году Аланом Перлисом в «Эпиграммах о программировании» : [2]
54. Остерегайтесь тюринговской смоляной ямы, в которой все возможно, но ничто интересное не дается легко.
На любом языке, полном по Тьюрингу , можно написать любую компьютерную программу, поэтому в строгом смысле почти все языки программирования одинаково способны. Однако наличие этой теоретической способности не то же самое, что и полезность на практике. Тарпиты Тьюринга характеризуются наличием простой абстрактной машины , которая требует от пользователя иметь дело со многими деталями при решении проблемы. [3] На крайней противоположности находятся интерфейсы, которые могут выполнять очень сложные задачи с небольшим вмешательством человека, но устаревают, если требования немного меняются.
Некоторые эзотерические языки программирования , такие как Brainfuck или Malbolge , специально называются «Turing tarpits» [4], потому что они намеренно реализуют минимальную функциональность, необходимую для классификации как полные по Тьюрингу языки. Использование таких языков является формой математического отдыха : программисты могут разобраться, как достичь базовых программных конструкций на чрезвычайно сложном, но математически эквивалентном Тьюрингу языке. [5]
turing tarpit.