Jen Kramer: HTML, CSS, No-Code Technology.

HTML is the hardest language to master

An observation seen on Mastodon:

Mastodon toot from Vasilis: Whenever I look at source code of almost all websites out there in the wold I have to conclude that not just my students, but just about every web developer finds HTML the hardest language. Now I wonder: Why is HTML so hard? Maybe it's because languages like CSS and JavaScript have much more immediate visible effect? Could be. And maybe, since the effect of HTML is largely invisible, at least pretty subtle in most common contexts, people simply don't notice it?

My responses:

Except for perhaps you and me, no one really teaches HTML. Students are told here’s the syntax, here’s p, a, span, div. Apply these elements and see how this looks. Right from the beginning, students are taught that HTML is about looks, not meaning.

Because HTML-only web pages look boring, almost immediately students are taught CSS, which (mostly) overrides the HTML look. Students conclude that HTML doesn’t matter as its look is overridden by CSS anyway.

Then when they get to JavaScript, they learn that HTML is merely a structure on which they hang their JavaScript events and such.

Prior to 2008 or so, most devs came to the web via HTML and CSS, then JavaScript. We taught separation of powers and spent more time on HTML. We taught HTML is not about the look.

After 2012, most devs came to the web through JavaScript first or almost first. Almost no time was spent on HTML and CSS because future devs learned that JS was the exciting part.

Only now after 10 years of this relentless emphasis of JavaScript are devs realizing that HTML and CSS are 2/3 of the front end and may deserve some time and attention. Only with the recent emphasis on accessibility are devs finally understanding that HTML has some useful characteristics that come for free. There’s no need to program each div with aria this or role that. And 75 layers of nested divs may be a bad thing.

Jen Kramer @jen4web