Тьюринговская трясина — жаргонное общее название для языков программирования, которые Тьюринг-полны, но обладают крайне примитивными синтаксисом и семантикой. Они неудобны для практического программирования (из-за трудности написания программ и низкой производительности), зато хорошо подходят для некоторых других задач (доказательство невычислимости некоторых функций, иллюстрация базовых принципов программирования и т. д.). Поэтому они интересны для информатики. Многие эзотерические языки программирования также являются «трясинами Тьюринга».

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

Другие возможные переводы: яма Тьюринга, смоляной колодец Тьюринга. Дословно: смоляная яма Тьюринга (Turing tar-pit).

54. Остерегайтесь трясин Тьюринга, в которых можно сделать всё, но ничего интересного нельзя сделать просто.

Примеры править

Существует две тенденции разработки «трясин Тьюринга»: сокращение числа инструкций и сокращение числа символов. Результаты:

  • Бинарная комбинаторная логика: 2 term-rewriting rules, 2 символа
  • Brainfuck: 8 инструкций, 8 символов
  • Iota и Jot[en]: 2 операции, 2 символа
  • OISC: 1 инструкция, 3 символа (signed unary with a separator)
  • Thue: 1 инструкция, 128+ символов

Ссылки править