Skip to main content

Что такое самоизменяющийся код?

Самомодифицирующийся код - это философия программирования, в которой разработчик создает программу, способную изменять собственное кодирование при выполнении. Хотя разработчик может вводить параметры для самоизменяющегося кода, он обычно изменяется и оптимизируется без взаимодействия. Есть некоторые компьютерные явления, которые вызывают непреднамеренное изменение кодирования, но только преднамеренный самоизменяющийся код действительно считается самоизменяющимся. Это чаще всего используется разработчиками для улучшения своего кодирования, поскольку многократное выполнение кодирования может значительно улучшить исходный дизайн.

Наиболее определяющим аспектом самоизменяющегося кода является его способность изменять себя в лучшую сторону. Это можно сделать только тогда, когда код готовится к выполнению и готовится к запуску. Выполняемый код должен будет подвести итоги текущего программного обеспечения компьютера, состояния и других факторов, так что это обычно помогает коду распознавать ошибки обработки, чтобы лучше исправить свою собственную обработку.

Разработчики иногда устанавливают параметры для самоизменяющегося кода, например, исправляя себя в основном для повышения производительности, но код, как правило, исправляет себя без взаимодействия или подсказок. Помимо повышенной обработки, код также удалит ненужный код, который просто затягивает программу, и уменьшит длину пути. В то же время разработчики могут указывать области, которые нельзя изменить, поскольку изменение некоторых частей кода может привести к тому, что вся программа пострадает или перестанет работать.

Иногда в программном обеспечении возникает явление, при котором кодирование изменяется без указания разработчиком каких-либо инструкций для этого. Это обычно происходит с программной ошибкой или проблемами с буфером, и, хотя кодирование изменяется, оно не считается самоизменяющимся кодом. Для этого есть две причины, одна из которых заключается в том, что изменение не было сделано преднамеренно разработчиком. Вторая причина состоит в том, что самоизменяющееся программирование предназначено для улучшения кодирования, в то время как проблемы с буфером и гниением ухудшают кодирование.

Самомодифицирующийся код имеет много преимуществ, потому что он постоянно будет работать над самосовершенствованием в зависимости от текущего состояния компьютера и других внутренних факторов. Это наиболее строго используется разработчиком перед продажей или распространением кода. Позволяя коду работать постоянно, это позволяет программированию исправлять себя и любые ошибки или проблемы, вызванные разработчиком во время создания кода. Другое использование для этого в компьютерах с ограниченной памятью, потому что этот код будет реагировать на нехватку памяти, уменьшая его собственный размер.