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