Зачем изобрели scss, sass, less и т.д?

Начал изучать данную тематику. Вообще - интересно.
С одной стороны css не язык программирования (да-да каскадные стили и т.д.), с другой уже делает попытки что то там вычислять (calc).
На что похоже и обратили внимание Qt создав QML (Qt Meta Language or Qt Modeling Language) — декларативный язык программирования, основанный на JavaScript, но по семантике очень похожий на css.
(То есть как бы намекнули куда будет держать путь css дальше.)

Так вот, как я понимаю, препроцессоры используют язык sass, less, scss (много их), преобразуя код в css файл.
В связи с этим возникает общий вопрос.
Зачем изобрели scss, sass, less и т.д?
Ведь:
1) просто делаем css (по аналогии, как уже сделали в Qt) - языком программирования. Логично, удобно.
2) если "нельзя вот так просто взять и сделать" css языком программирования, тогда делаем css препроцессор для javascript например.
Зачем изобретать велосипеды sass, less, stylus когда уже есть язык программирования, признанный миллионами? Уже много хороших, полноценных языков программирования, зачем что то ещё изобретать?
  • Вопрос задан
  • 285 просмотров
Пригласить эксперта
Ответы на вопрос 3
Moskus
@Moskus
Вы ошибочно пытаетесь втиснуть вещи, функцию которых плохо понимаете, в рамки собственных представлений, которые основаны на фантазиях.

CSS - язык описания стилей оформления разметки HTML. Выполняет функцию отделения оформления от разметки. Он не является языком программирования ни по каким критериям, потому что не описывает логику (алгоритм), а описывает только свойства отображения.

QML - язык моделирования интерфейса, который включает в себя и разметку, и оформление. Потому что в решаемой им задаче не нужно отделять разметку от оформления, как в web. К тому, "куда будет держать путь CSS", QML не имеет ни малейшего отношения - у них разные задачи. QML существенно ближе к языкам программирования, потому что содержит специализированную логику.

SASS, LESS и так далее - расширения синтаксиса CSS, которые призываны облегчить редактирование стилей, используя некоторые формы синтаксиса, которых нет в CSS, и которые позаимствованы из языков программирования (переменные, например). Они могут содержать чуть больше логики, чем CSS, но эта логика также касается только оформления. Задача разделения оформления, разметки и логики при этом продолжает выполняться. И, например, человек, совершенно незнакомый с программированием, может с легкостью редактировать стили в расширенном синтаксисе LESS, ровно также, как он работал с CSS. Делать CSS "языком программирования" - нелогично и неудобно, а главное - нафиг не нужно. И, сюрприз, LESS и т.п. могут преобразовываться налету в CSS препроцессором на JS.
Ответ написан
Комментировать
sim3x
@sim3x
Когда делали сасс - жс не было на бекенде
Ответ написан
Комментировать
1) просто делаем css языком программирования. Логично, удобно.

И необъятная гора софта и/или оконечных устройств становится Deprecated.

2) тогда делаем css препроцессор для javascript например.

Итак. Можете даже в браузере собирать стили. Юзеры вам спасибо скажут, в очередной раз.

Зачем изобрели scss, sass, less и т.д?

Потому, что захотели автоматизировать написание и копипаст стилей.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы