I’ve made no secret of my love for LESS. It was my first CSS pre-processor, and still my favorite, even as pragmatism pushes me towards SASS. The addition of variables, mixins, selector nesting, and advanced calculations to CSS just blew my mind.
And while the enhanced versatility and ease of writing CSS was much appreciated, I was especially excited about the potential for the increased separation of content from presentation. That was the purpose of CSS from the very beginning, and it’s a cause I can believe in. Content may be the most important part of the design, but you shouldn’t have to code it that way.
I remember the days of table layouts, and they were dark.
Now, at long last, developers have discovered CSS too. (I’m mostly kidding…) They have brought many valuable contributions — like the aforementioned preprocessors — and raised a few issues of their own. Many feel that CSS isn’t object-oriented enough, or even just generally programmer-friendly enough. They’ve addressed this issue with frameworks, tools, and even the occasional library for defining CSS rules in JavaScript.
Okay, most of those were made as a joke. Still, it’s a bit of a trend. There is a movement, though not an organized one (that I know of), to make CSS look a whole lot more like a programming language. And I’m talking about basic CSS, with no preprocessors involved.
This would, in many ways, increase CSS’ potential massively. It could also result in less CSS needing to be written. On the downside, I’m bad at programming, and a lot of other designers are too. Also, what we gain in smaller file sizes could be mitigated by the increase in computing power needed to render the results of that CSS.
It would all come down to whether the programming-related features complement or replace the current layout and styling aspects of CSS. So, what do you think?