Pull to refresh

Comments 25

Было бы здорово, если бы в начале/в конце статьи вы бы кратко перечисляли возможности, о которых пойдет речь.
Например, так:
  • Первый пример показывает, как программа может изменять значения инициализации массива в своем собственном коде
  • Второй пример показывает, как программа может выполнить лишь раз определенный фрагмент своего кода, а затем удалить его

По самой идеи: у вас получается крайне неустойчивая система. Я и в свой-то код стараюсь без необходимости не лезть, а если в него еще и сам компьютер будет вносить правки, это будет будет просто ужасно. Может вам стоит подумать про версионность? Во всяком случае на текущий момент, как я думаю, поддерживать код на вашем языке будет крайне проблематично.
А зачем вообще программе модифицировать свой код? В приведённых случаях достаточно просто записывать данные в файл, а не в код программы. Получаем разделение данных и инструкций, а это легче понимать, чем самомодифицируемый код.
Вдогонку: переименуйте isProsto, пока никто не увидел :)
Имена не существенны, важна только любовь.
И ни одной ссылки на сам язык… Иди, читатель, сам гугли!
Спасибо за ссылку на сайт, в 2015-м году он прекрасен!!!
Оформление программ отвратительное. Ни пробелов, ни нормальных отступов. Глаза ломаются.
В чем преимущество по сравнению с хранением найденных простых чисел в обычном хранилище?
Ни в чём. Всё дело в авто модификации алгоритма.
А у вас никакой модификации алгоритма не происходит, у вас меняются данные.
Весь алгоритм для языка (операторы, условия, циклы) — данные. Вы правы, всегда изменить можно только данные.
Весь алгоритм для языка (операторы, условия, циклы) — данные.

Только в том случае, если у вас фон Неймановская архитектура.

Вопрос преимущества остается открытым. Какой смысл брать новый язык, когда все то же самое можно сделать на десятке старых?
А словами описать никак?
Лучше один раз увидеть, чем сто раз услышать).
Я бы предпочел один абзац текста, в котором было бы описано, в каких случаях без этой функции не обойтись.
Дело в том, что существует позиция в схеме алгоритма, которая указывает на текущую команду. По этому можно удалять любую часть алгоритма, кроме той, в которой находится текущая команда удаления. Именно для решения этой проблемы существует Spirit(), который само удаляется, как одна команда, сразу после своего исполнения.
Во-первых, эта «проблема» («можно удалять любую часть алгоритма, кроме той, в которой находится текущая команда удаления») присуща только вашему языку, в общем случае ничто не мешает удалить любую часть кода.

Во-вторых, я вообще не очень понимаю, какую задачу решает удаление части алгоритма в момент выполнения.
Во-первых, самооптимизация — это не задача, это средство решения задачи
А во-вторых, достаточно исключить ветвь алгоритма из выполнения, и эффект достигнут.
Sign up to leave a comment.

Articles