CodeNewbie Community 🌱

Cover image for Is CSS an Object-Oriented Programming Language?
Álvaro Montoro
Álvaro Montoro

Posted on • Originally published at

Is CSS an Object-Oriented Programming Language?

For the past six months, I have been running comiCSS, an "experiment" in which I draw web-related cartoons and comics using HTML and CSS.

I published a version of the Angry NPC Wojak meme a couple of weeks ago. It went mostly unnoticed, but it didn't matter because it was just preparation for this week's comic. A larger version of the meme that explored a question that pops now and then on Twitter: Is CSS a programming language? Then I twisted and stretched it a little and took the joke further:

Modified version of the Angry Wojak meme showing two people talking. The first panel shows a person saying 'CSS is not a programming language'. The second panel has another person replying 'Of course it is! What are the main concepts of OOP?' Then proceeds to 'explain' how CSS 'has' encapsulation, inheritance, abstraction, and polymorphism, so it should be considered an object-oriented programming language. The last panels show the first person, first normal (without saying anything) then angry.

The comic seemed to go unnoticed again but then became viral on the /r/ProgrammerHumor channel on Reddit (without the poster adding a source or attribution for it 😓). And the answers from people were… interesting, to say the least –that's the Reddit way, no?

I had a blast reading the comments. From both sides, but especially the ones from people that are taking a joke way too seriously: people calling me an idiot for not knowing what OOP is, people defending CSS as their life depended on it, people debating if inheritance or polymorphism in CSS is possible considering this or that other factor…

As always, with the "XYZ is not a programming language" controversy, it's not a matter of proving a point. So many people want to drag other developers through the mud and diminish their contribution, which is sad. Whatever your opinion is, don't be that type of person.

But I digress. Now, for the question in this article's title: Is CSS an object-oriented programming language? The answer is "No." Even if it fulfilled the main concepts of OOP (which are exaggerated and stretched for comic purposes), that wouldn't make it an object-oriented programming language. But that doesn't matter because being OOP or not being OOP doesn't make CSS (or any other language) a lesser language. It is beautiful, useful, and incredible as it is (and will keep being.)

There will be more comiCSS cartoons and comic strips in the future. I hope all of them are as entertaining as this one 😊

If you liked this cartoon, follow comiCSS on Twitter or support it by becoming a patron on Patreon.

Top comments (1)

jacobvarney profile image

This is hilarious!

Also, CSS classes also also have data (objects with this class are blue) and behaviors (this class makes objects blue). I'm a believer /s