История изменений
Исправление no-such-file, (текущая версия) :
Объясните мне, где тут побочный эффект
Автор немножко путает тёплое с мягким. Побочный эффект есть в обоих случаях, но для функции это плохо, а для процедуры в основном наплевать и вообще она ради этого задумана. Суть в том, что функция может быть частью выражения и т.о. грязная функция будет менять результат вычисления выражения в зависимости от фаз Луны. Поэтому не стоит писать грязные функции, иначе 2+2 будет 42, а синус достигать 4. Процедуры изначально задуманы как «гигиеничные» подпрограммы, т.е. в отличие от суровых подпрограмм из каменного века, процедура имеет чётко заданный набор данных над которыми производится действие (в т.ч. по-месту), нельзя делать goto в астрал и т.п. ограничения которые образуют основу так называемого «процедурного программирования». Понятие побочного эффекта и чистоты по этой причине к процедурам-подпрограммам не вполне применимо. Но автор захотел натянуть сову на глобус и придумал своё оригинальное определение.
Исходная версия no-such-file, :
Объясните мне, где тут побочный эффект
Автор немножко путает тёплое с мягким. Побочный эффект есть в обоих случаях, но для функции это плохо, а для процедуры в основном наплевать и вообще она ради этого задумана. Суть в том, что функция может быть частью выражения и т.о. грязная функция будет менять результат вычисления выражения в зависимости от фаз Луны. Поэтому не стоит писать грязные функции, иначе 2+2 будет 42, а синус достигать 4. Процедуры изначально задуманы как «гигиеничные» подпрограммы, т.е. в отличие от суровых подпрограмм из каменного века, процедура имеет чётко заданный набор данных над которыми производится действие (в т.ч. по-месту), нельзя делать goto в астрал и т.п. ограничения которые образуют основу так называемого «процедурного программирования». Понятие побочного эффекта и чистоты по этой причине к процедурам не вполне применимо. Но автор захотел натянуть сову на глобус и придумал своё оригинальное определение.