Тьюринговская трясина — жаргонное общее название для языков программирования, которые Тьюринг-полны, но обладают крайне примитивными синтаксисом и семантикой. Они неудобны для практического программирования (из-за трудности написания программ и низкой производительности), зато хорошо подходят для некоторых других задач (доказательство невычислимости некоторых функций, иллюстрация базовых принципов программирования и т. д.). Поэтому они интересны для информатики. Многие эзотерические языки программирования также являются «трясинами Тьюринга».
Однако ввиду простоты построения и реализации удобны для автоматической генерации кода.
Другие возможные переводы: яма Тьюринга, смоляной колодец Тьюринга. Дословно: смоляная яма Тьюринга (Turing tar-pit).
54. Остерегайтесь трясин Тьюринга, в которых можно сделать всё, но ничего интересного нельзя сделать просто.
Примеры
править- Комбинаторная логика, особенно бинарная комбинаторная логика
- INTERCAL
- Нетипизированное лямбда-исчисление
- OISC (машина, набор инструкций которой содержит только одну команду вроде «вычесть и перейти, если результат меньше нуля»).
- Машина Тьюринга
- Unlambda
- MISC — Minimal Instruction Set Computing, микропроцессоры с минимальным набором команд
- Idris (язык программирования)
Существует две тенденции разработки «трясин Тьюринга»: сокращение числа инструкций и сокращение числа символов. Результаты:
- Бинарная комбинаторная логика: 2 term-rewriting rules, 2 символа
- Brainfuck: 8 инструкций, 8 символов
- Iota и Jot[англ.]: 2 операции, 2 символа
- OISC: 1 инструкция, 3 символа (signed unary with a separator)
- Thue: 1 инструкция, 128+ символов
Ссылки
правитьЭто заготовка статьи о программировании. Помогите Википедии, дополнив её. |
Для улучшения этой статьи желательно:
|