Jay Cruz

HTML and CSS is a Language can You Read

The problem with the discussion of HTML and CSS being programming languages or not is that most of the time this debate really doesn't matter. It's just semantics. Bike shedding. Usually used as a way to put others down, or put others up, depending on which side it's coming from. HTML and CSS are programming languages. They are codes. They are instructions you're giving to a computer(the browser interpreter really, but let's not digress). In that loosely and broader sense, then yes, making a website with just HTML and CSS is part of programming.

I also acknowledge and agree that coders with a traditional CS background, who know JavaScript really well, and other programming languages, are usually the ones who never miss an opportunity to let you know that "that HTML and CSS aren't real programming languages". These people are definitely dicks who have no idea how much more complex and how much more important being good a writing correct and semantic HTML is. They have no idea how wickedly cool CSS is and how much more difficult it is to actually master it.

However, understanding what separates a programming language in the more academic and strict definition on what makes a programming language a programming language, from something like HTML, CSS matters, sometimes. It matters especially if your goal is to become a professional software developer. We can endlessly debate the semantics, and the loosely defined definitions on what makes a programming language a programming language, but there's no way you can do with HTML what you can do with a language like C++, Python, or even JavaScript. All programming languages typically have variables, numbers, strings, conditions, loops, booleans, functions, objects, and that's just covering the basics. Programming languages can be used in different platforms and environments. HTML and CSS are meant to be used inside web browsers.

Yes, you can make complex websites with just HTML and CSS. Yes, in the world of client side / front-end web development, there are still pockets in the industry with roles where you can get away with not knowing a whole lot of JavaScript. But in today's world of web applications, I don't believe this is the norm.

If your take-away so far is that I see HTML and CSS as less important than JavaScript, or as a less valuable skill, you're totally missing the point. The main point I'm trying to get across is that you're not going to be able to avoid learning some JavaScript in the world of Web Development, no matter if the goal is front-end, because the presentational and design aspects of making websites and web apps, are either done by traditional web designers (basically graphic designers who can code), or it's a very specialized role in a small agency that mostly does branding and websites. But if your goal is to work in web application development, you will have a hard time clinging to the "HTML and CSS are languages too" stance and you will be judged, unfounded or not, as naive and as someone that clearly doesn't understand what programming actually is. It's just a matter of understanding that distinction when it matters.

Further Reading Is CSS or HTML a programming language?