Home → The Classics → Farai's Codelab
Is CSS a Programming Language?
Published: Updated:
See Is CSS a Programming Language? on css-tricks.com
I have a real distaste for this question. It might seem like a fun question to dig into on the surface, but the way it enters public discourse rarely seems to be in good faith. There are ulterior motives at play involving respect, protective emotions, and desires to break or maintain the status quo.
I feel the same way towards this debate. Honestly, my answer is “who gives a shit, focus on what it does”, but as Chris is saying, this debate has hardly anything to do with CSS.
On the one hand, you have those who are like “actually, it’s a stylesheet/markup language” getting mad that it’s reffered as a programming language, possibly to look down on those who write it. You could point to the many things it misses that prevents it from being a programming language, but there are other “real programming languages” don’t have. One instance is how it isn’t procedural/iterative. Declarative programming languages exist where you describe results rather than provide instructions on how to get there. Heydon Pickering explains this well in his humerous post CSS: A New Kind Of JavaScript.
On the other hand are those who argue that it is a programming language and it’s important to see it as such so that front-end developers (who are more likley to be women) are taken seriously.
Will it though?
Take PHP and JavaScript for instance. People have roasted them for long time despite them being “real programming languages”, looking down on those writing it. They’re no match for serious programming languages like Java, C, Assembly, Rust and so on which are also hated on. As Bjarne Stroustrup said:
There are only two kinds of languages: the ones people complain about and the ones nobody uses.
Also, there are esoteric languages that are literally jokes. I doubt acknowledging HTML and CSS as programming languages will fix that. Also, the fact that it isn’t a programming language doesn’t render it useless, easy and inherentley feminine.
In all, my opinion of this question is, again, “who gives a shit, focus on what it does”. My article answers “who gives a shit”. So instead of debating this question which has nothing to do with CSS, maybe focus on it’s abilities and leave the polemics to computer scientists?