Подтвердить что ты не робот

Интересно, завершен ли MATLAB в Turing (вычислительно универсальный)?

Интересно, является ли MATLAB Turing complete (= универсально вычислительно, т.е. "если его можно использовать для имитации любой одноранговой машины Тьюринга" )?

4b9b3361

Ответ 1

Будучи Turing полным, действительно довольно низкий бар для языков реального мира. Согласно Wikipedia (внимание мое):

Чтобы показать, что что-то завершено Тьюрингом, достаточно показать, что его можно использовать для моделирования некоторой полной системы Turing. Например, императивный язык Тьюринга завершен, если он имеет условный ветвление (например, "if" и "goto", или "ветвь, если ноль", инструкция. См. OISC) и возможность изменения произвольной памяти местоположения (например, способность поддерживать произвольное количество переменные). Поскольку это почти всегда так, большинство, если не все императивные языки завершаются Тьюрингом, если мы игнорируем любые ограничения конечной памяти.

Кроме того, MATLAB обладает многими функциями, которые вы ожидаете от относительно современного 3GL/4GL. Он дополняется VM, I/O, конструкциями пользовательского интерфейса, математическими операторами (очевидно), типами данных, пользовательскими функциями и т.д. Вы даже можете доставлять программы Matlab вне среды Matlab.

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

Ответ 3

Я предполагаю, что вы различаете языки программирования и языки сценариев, а из-за природы MATLAB это похоже на язык сценариев? Если это так, ваше мнение может зависеть от того, что вы считаете языком программирования.

Я считаю, что MATLAB - это Turing-complete и имеет достаточно строгий и удобный синтаксис, поэтому я бы назвал его языком программирования. В то же время, csh, вероятно, завершает работу, но это настолько необычно, что я программировал в том смысле, что я бы назвал его языком сценариев.