HTML ❤️
Hello makers,
I'm a big believer that learning HTML is the best way to begin your coding journey. I've been saying this for a while.
It doesn't matter what your end game is. Maybe you want to build apps, or become a back-end programmer, or even write A-list games. There's something so raw and immediate about HTML that nothing else comes close when you're starting out.
Here's why I love HTML.
My 8-year-old is coding
My daughter started showing an interest in what I do for a living. So I finally sat her down and set her up to start learning how to code.
Oh, you mean you did a Scratch tutorial with her?
No. I showed her how to make a website.
Wait, she knows how to code in JavaScript?
Nope. She's building an HTML page. I briefly introduced her to header tags, paragraph tags, and list tags.
After about ten minutes of making headlines and lists, she asked how to add an image. Now she's familiar with img tags. Five minutes later, she wanted to know how to link to other websites. Now she's writing anchor tags without even pausing to think, and understands what an HREF is.
Most recently she's pushing me to teach her more. How can she build a page where her friends can comment? How does she deploy her work to the web so others can see it? She's learning by doing. Incrementally. Making something she's passionate about. The most effective way to learn.
Is HTML even a programming language?
Stack Overflow says no. Or yes. Or maybe kind of.
Who cares?
There are plenty of gatekeeping programmers that want to keep HTML out of the ranks of proper programming languages. But I could care less about the distinction. If you're building something for the web, HTML is where the rubber meets the road. And unless you're creating a monstrous canvas-only app, everything that people interact with on your site is made with HTML. (Even that canvas is an HTML tag.)
Oh, you're building a Next.js app backed by Mongoose with React components rendered on the server connected with GraphQL? Guess what that all ends up as?
That's right, HTML.
Immediacy
This is the greatest factor in the effectiveness of HTML as a gateway programming language. You write something in a file, open that file in your browser, and see what you wrote. Make a change to your file, refresh the browser, and you can see what your change did immediately.
Cause and effect.
There's no transpiling required, no compiling to binary, no runtime errors. It's programming in its most raw form. Instructions that a computer can read, and the end result that people can use.
Back to basics
In 2015, Maciej Cegłowski wrote a prescient article titled The Website Obesity Crisis. I highly recommend you read it, as his writing is endlessly entertaining. It's still relevant today, as websites get bloated with all sorts of complexity when most people just want something simple.
Here are a couple of gems pulled from that article:
The web pyramid as we observe it in the wild:
A base layer of HTML
A huge pile of crap
On top of it all, a whole mess of surveillance scripts
Complexity is like a bug light for smart people. We can't resist it, even though we know it's bad for us. This stuff is just so cool to work on.
And when this diagram is what you're in for as a front-end web developer, you better not jump in mid-way downstream. Even that nightmarish infographic recommends starting with the basics. HTML. CSS. JavaScript. In that order.
The hardest simplest thing
There's a real need today for web programmers that can harness HTML. Of course, this is really done with CSS, but what's CSS without HTML? Oh, you think CSS is trivial?
The most difficult thing to do in web development (besides caching and naming things) is to make something look like its intended design. And maybe that's not vanilla HTML, but a React component with Tailwind CSS styles. Regardless, knowing how the HTML works when the browser inevitably presents that code to the user is priceless.
And in the end, that's what the world will see and use. HTML.
Keep making, and thanks for reading! 🙌
Hit reply to tell me what you're making. I'm looking for anyone interested in talking about their own side-projects and maker journey, so speak up if you'd like to appear in Serial Maker. I'd also love to know what you thought of this issue, and what you want to hear about in the future. Check out the past editions if you missed them, and don't forget to continue the conversation on Discord!
Until next week,
Craig 👋


