Это перевод статьи Why I Don’t Use CSS Preprocessors автора Jens Oliver Meiert .
Хоть и с опозданием, но хочу присоединиться к Роджеру Йохансону (Roger Johansson): я не использую препроцессоры, а точнее, никогда не использую в своих личных проектах, так как препроцессоры для меня, это решение с дополнительными проблемами.
И мои причины практически полностью совпадают с причинами Роджера:
я не уверен, что проблемы, которые решает препроцессор достаточно серьезные чтобы оправдать усилия, а их решения зачастую создают большие проблемы, чем те, которые они решают;
я хочу иметь полный контроль над моим CSS, а также я хочу знать что будет отправлено в браузер прежде чем CSS будем минификована и сжата (этот пункт меня не сильно волнует, потому что часть проблем может быть решена в будущем при помощи более совершенных инструментов);
я не хочу изучать и зависеть от нестандарного синтаксиса CSS, я и моя команда не хотим изучать несколько синтаксисов;
я хочу, чтоб мой исходный CSS мог быть использован в проекте в любое время, и если процесс сборки завершится с ошибкой я хочу иметь возможность использовать свой исходный CSS в качестве резервного решения;
я не хочу ожидать результатов компиляции для того чтоб увидеть результаты изменений в моем CSS;
ну и в дополнение, я всегда могу получить функциональность препроцессора, испольуя языки вроде PHP, так же как Берт Бос делает это в своих доводах против CSS переменных.
Единственное, в чем я не согласен с Роджером, так это в том, что мы таки можем писать DRY CSS без препроцессоров. Принцип “не повторяй себя” должен быть основопологающим, он должен стать частью нашей профессии, а так как мы еще не можем автоматизировать процесс создания DRY CSS, мы должны заботиться об этом сами, в первую очередь для того, чтоб наш CSS было легко дорабатывать.
Что касается пост-процессоров, то я не использую и их (по крайней мере в своих персональных проектах), но, это совсем другая история. Мне есть что ответить Роджеру. Посмотрим что он скажет ;)