Привет. Недавно просил оценить пару десятков строк своего кода на лиспе и получил несколько ссылок «как правильно писать». Одним из пунктов было примерно следующее: старайтесь в каждом случае использовать частные решения вместо общих, когда это возможно eq вместо equal, setq вместо setf и т.д. И если со сравнением все понятно - у разных функций разная точность и разная скорость выполнения, - то ситуация с setq и setf не совсем ясна.
С одной стороны я и сам давно привык присваивать значения символам через setq, но борюсь с этой привычкой для однообразного отражения в коде однотипных операций; для присваивания символам setf раскрывается в setq - о производительности речи не идет. С другой стороны, увидел этот совет и задумался: setq и setf и так визуально достаточно похожи, в коде однозначно читаются как «присваивание», зато по setq можно сразу определить, что присваивание происходит просто переменной, а по setf - что это модификация части какого-то объекта.
Кто какого мнение придерживается в данном вопросе и почему?