Comments 25
Было бы здорово, если бы в начале/в конце статьи вы бы кратко перечисляли возможности, о которых пойдет речь.
Например, так:
По самой идеи: у вас получается крайне неустойчивая система. Я и в свой-то код стараюсь без необходимости не лезть, а если в него еще и сам компьютер будет вносить правки, это будет будет просто ужасно. Может вам стоит подумать про версионность? Во всяком случае на текущий момент, как я думаю, поддерживать код на вашем языке будет крайне проблематично.
Например, так:
- Первый пример показывает, как программа может изменять значения инициализации массива в своем собственном коде
- Второй пример показывает, как программа может выполнить лишь раз определенный фрагмент своего кода, а затем удалить его
По самой идеи: у вас получается крайне неустойчивая система. Я и в свой-то код стараюсь без необходимости не лезть, а если в него еще и сам компьютер будет вносить правки, это будет будет просто ужасно. Может вам стоит подумать про версионность? Во всяком случае на текущий момент, как я думаю, поддерживать код на вашем языке будет крайне проблематично.
А зачем вообще программе модифицировать свой код? В приведённых случаях достаточно просто записывать данные в файл, а не в код программы. Получаем разделение данных и инструкций, а это легче понимать, чем самомодифицируемый код.
И ни одной ссылки на сам язык… Иди, читатель, сам гугли!
Оформление программ отвратительное. Ни пробелов, ни нормальных отступов. Глаза ломаются.
В чем преимущество по сравнению с хранением найденных простых чисел в обычном хранилище?
Ни в чём. Всё дело в авто модификации алгоритма.
А у вас никакой модификации алгоритма не происходит, у вас меняются данные.
Весь алгоритм для языка (операторы, условия, циклы) — данные. Вы правы, всегда изменить можно только данные.
Весь алгоритм для языка (операторы, условия, циклы) — данные.
Только в том случае, если у вас фон Неймановская архитектура.
Вопрос преимущества остается открытым. Какой смысл брать новый язык, когда все то же самое можно сделать на десятке старых?
Я не знаю аналогов для функции Spirit();
А какая от нее польза?
А словами описать никак?
Лучше один раз увидеть, чем сто раз услышать).
Я бы предпочел один абзац текста, в котором было бы описано, в каких случаях без этой функции не обойтись.
Дело в том, что существует позиция в схеме алгоритма, которая указывает на текущую команду. По этому можно удалять любую часть алгоритма, кроме той, в которой находится текущая команда удаления. Именно для решения этой проблемы существует Spirit(), который само удаляется, как одна команда, сразу после своего исполнения.
Во-первых, эта «проблема» («можно удалять любую часть алгоритма, кроме той, в которой находится текущая команда удаления») присуща только вашему языку, в общем случае ничто не мешает удалить любую часть кода.
Во-вторых, я вообще не очень понимаю, какую задачу решает удаление части алгоритма в момент выполнения.
Во-вторых, я вообще не очень понимаю, какую задачу решает удаление части алгоритма в момент выполнения.
Sign up to leave a comment.
Простейшие самообучающиеся алгоритмы на языке «Автор»