In honor of Codecademy's 11th anniversary, we're looking back at the 2000s websites and software that influenced our founders to build Codecademy — and inspired a generation to learn to code. Explore other fun deep dives into early aughts internet topics here.
It’s a tired argument that practically everyone who codes has heard before: Knowing HTML and CSS doesn’t count as “real” coding. They aren’t even programming languages. You can’t really do anything with just HTML/CSS.
These types of comments can feel discouraging whether you’re a professional programmer or are just starting to dabble in code. Using HTML/CSS to build websites is one of the best ways to learn how to code, which is why the languages are often recommended for beginners. So where does all this HTML/CSS shade come from?
One reason why people are quick to dismiss HTML/CSS has to do with fundamental differences between these languages and other ones. If you want to split hairs, HTML/CSS technically don’t contain traditional programming logic, so they’re not true programming languages, explains Sarai Fernandez, a Curriculum Manager in Cybersecurity at Codecademy. A programming language is a set of instructions that a programmer writes for a computer to follow and perform a task. HTML is a “markup language” and CSS is a “style sheet” — together, they determine how content is displayed on a web page. The main difference is that markup languages don’t follow logic or algorithms and instead just consist of formatting instructions for data.
As you can see, what this distinction obscures is how powerful and important HTML/CSS are for programmers: Invented in the late ‘90s, HTML/CSS built the web as we know it. Without these tools, the websites you rely on today for everything from socializing to shopping to working would be fragmented and incredibly bland.
Obviously, this conversation is way more nuanced than the technology itself. “The main issue is that this debate mostly exists to gatekeep beginner programmers or designers from being considered programmers,” says Nik Stern, Curriculum Developer at Codecademy. (More on this later.)
At Codecademy, we’re firm believers that everyone should feel empowered to learn how to code — and if you’re writing code, you’re coding. Period.
Want to dive deeper? We’ll walk you through the history of HTML/CSS, how it defined the visual language of the 2000s internet (and beyond), and how it can be the foundation for a career in tech. Plus, we’ll share some recommendations for courses that will expand your knowledge of HTML/CSS.
How HTML/CSS became the “power couple” of the 2000s internet
HTML/CSS are often referred to as the “power couple” or “backbone” of everything on the web.
- HTML stands for “HyperText Markup Language,” and it essentially determines how content is organized, formatted, and displayed on a web page (like this one you’re reading right now). When you visit a website, the server sends its HTML files to your browser to read and display.
- CSS is short for “Cascading Style Sheets,” and it’s how you style HTML elements and add stuff like fonts, colors, backgrounds, and layouts.
When the first version of HTML came on the scene in 1993, and people started making web pages, there was no way to control the appearance of the page. In 1994, Norwegian software engineer Håkon Wium Lie proposed using style sheets that could overlay HTML files and customize web pages.
The simple, easy-to-learn technology was a gateway to making websites and having a hand in building the recognizable internet aesthetic of the ‘00s. While there’s much more to web development than these two languages alone, HTML/CSS enabled people to architect the visual language and identity of the early internet.
With HTML/CSS, seemingly anything was possible for code hobbyists: A mess of data could become a neatly organized table, text could change color and be positioned anywhere on the page, and boring white backgrounds were replaced with anything from solid colors to tiled GIFs. For lots of millennials, growing up using websites that encouraged users to get their hands dirty in HTML/CSS — like Myspace, Xanga, and Neopets — was a form of entertainment, self-expression, and an entry point to code.
It’s no exaggeration to say that combining HTML/CSS changed the course of the internet. “Without the visual part, the web would either have looked very boring, with only black and white text, or it would have died,” Håkon said in a 2019 interview.
What people get wrong about using HTML/CSS professionally
There’s a pervasive misconception that certain languages, skills, and even entire career paths aren’t technical enough to be considered part of the professional programming world. People tend to have a “shallow view” of what HTML/CSS is capable of, and skip over learning their newer or more intricate features, explains Ada Rose Canon, a Developer Advocate for the web browser Samsung Internet in London.
Knowing the languages of the internet can help you get hired in the tech industry, whether you want a hands-on technical role that’s involved with building products (like a Web Developer or a UI/UX Designer), or you’re interested in jobs that help tech teams work together and run smoothly (like a Project Manager or Developer Advocate). You might be surprised just how many high-paying tech careers touch HTML/CSS in some capacity: Even Game Developers use HTML to build games that work across platforms, and Back-End Engineers, who might work with other programming languages, need to be well-versed in HTML in order to maintain servers.
HTML is “a skill that’s lost to a lot of developers these days,” Ada Rose says. “They're so focused on trying to abstract away from HTML and CSS that they don't fully understand how their final artifact is working, why it works the way it does, and whether what they've done is actually correct or just looks good.”
A lot of developers might have an outdated or narrow view of what CSS can do. As you get into advanced CSS, you can make websites that not only look amazing and beautiful, but that also incorporate features that make the web pages come alive, like animations, Nik says. “That, to me, is indistinguishable from coding,” they say. “And furthermore, it's a skill that I don't even have — and I've been programming for 10 years now.”
What often goes without saying is that the HTML/CSS stigma tends to be gendered. Because front-end development largely deals with aesthetics and making sites look good, there’s an assumption that these are softer skills reserved for women, Ada Rose says. Obviously, undermining people’s knowledge with front-end languages like CSS does everyone a disservice, especially women.
Case in point: Women are underrepresented in technology, making up just 5% of the population of professional developers, according to Stack Overflow’s 2022 Developer Survey.
“There seems to be this pattern — often in the minds of male developers — that CSS is at once, too trivial to bother learning, but at the same time, too complex to be a real language, and too difficult to use,” Ada Rose says. “Like, it's somehow both of these at the same time.”
The TL;DR of the HTML/CSS debate
Ultimately, the best answer to the debate over whether or not HTML/CSS are legitimate programming languages is: “Does it really matter?” Sarai says. “The distinction isn’t really important and is mostly a semantic argument that’s used so people can feel superior to others because they do ‘real’ programming.”
The truth is that just knowing HTML/CSS alone is probably not enough to break into tech and get hired as a programmer — and that’s okay! Most developers need to be familiar with a handful of languages to be successful over the course of their careers. Once you have an understanding of HTML/CSS, it actually makes picking up other languages much easier. At the end of the day, when you’re using HTML/CSS, you’re still using code to communicate with technology and, crucially, you’re thinking like a programmer to solve problems, which is the foundation for any career as a developer.
Throughout your learning journey, it’s important to know your worth, Ada Rose says. “If people don't see your value, then don't listen to them. Clearly, if someone is saying that HTML and CSS isn't a real language, they don't know how to do HTML and CSS.” But luckily, you do.
How to get started learning HTML/CSS and more
If you don’t already know HTML/CSS and you’re ready to dive in and learn about web development, check out these courses and paths:
- Learn HTML: Start with the basics of HTML5. You’ll be building and editing web pages right away in this course.
- Learn CSS: After tackling HTML, amp up your websites with colors, backgrounds, photos, and more.
- Build a Website with HTML, CSS, and Github Pages: Get familiar with HTML and CSS at the same time, plus practice building your own website and publishing it to GitHub.
- Front-End Engineer: You can make a career out of making beautiful websites. In this beginner-friendly Career Path, you’ll learn everything you need to know about building and designing websites and prepping for a job in front-end web development.
- Learn Intermediate CSS: Go beyond colors and fonts to explore the dynamic visual effects that you can add to websites using CSS, like animations and transitions.