Тьюринговская трясина
Тьюринговская трясина — жаргонное общее название для языков программирования, которые Тьюринг-полны, но обладают крайне примитивными синтаксисом и семантикой. Они неудобны для практического программирования (из-за трудности написания программ и низкой производительности), зато хорошо подходят для некоторых других задач (доказательство невычислимости некоторых функций, иллюстрация базовых принципов программирования и т. д.). Поэтому они интересны для информатики. Многие эзотерические языки программирования также являются «трясинами Тьюринга».
Однако ввиду простоты построения и реализации удобны для автоматической генерации кода.
Другие возможные переводы: яма Тьюринга, смоляной колодец Тьюринга. Дословно: смоляная яма Тьюринга (Turing tar-pit).
54. Остерегайтесь трясин Тьюринга, в которых можно сделать всё, но ничего интересного нельзя сделать просто.
Примеры
- Комбинаторная логика, особенно бинарная комбинаторная логика
- INTERCAL
- Нетипизированное лямбда-исчисление
- OISC (машина, набор инструкций которой содержит только одну команду вроде «вычесть и перейти, если результат меньше нуля»).
- Машина Тьюринга
- Unlambda
- MISC — Minimal Instruction Set Computing, микропроцессоры с минимальным набором команд
Существует две тенденции разработки «трясин Тьюринга»: сокращение числа инструкций и сокращение числа символов. Результаты: