Earlier this week I went online to find a book to help me upgrade my web skills to XML. Couldn’t. Simply put, I was both overwhelmed and astounded at the sheer number of books.
Not only was there a forest (trees turned into paper) of books featuring XML but many more related to XML. The scary part was these were dwarfed by books on newer web tools and languages.
When I speak of trees turned into paper, I’m talking about the many books that are thousand pages and upward. And no, I didn’t buy anything. But I discovered I had a book on HTML, XHTML, and XML (at 1107 pages).
That book is what the future looked like back in 2002 (it’s copyright date). It felt safe, because it connected the beginning, HTML, with the futute, XML, using the bridge of XHTML.
That was then. Now, I have no idea. That future has been blown to bits (sorry). Instead, we have this explosion (sticking to the metaphor) of new web languages and specialized tools.
However, this pandemonium of web languages and tools goes a long way towards answering one of my most frequently asked questions. Namely, why is so much programming so bad?
Programmers simply aren’t getting the opportunity to master anything. Decades ago I was told it took a full two years to be proficient in any programming language, and nothing I’ve seen since disputes this.
In other words, most code is produced by novices in that code. Regardless of years or even decades of experience, these programmers are relative beginners in their current language.
These web languages and tools proliferate more and more, making them less and less effective. This in turn becomes a cause of proliferation: our current language or tool isn’t as productive as we had hoped so let’s switch to (or even create) a new one.
Adding to the problem is the seemingly endless expansion of web browsers and their limitless versions, and the attendant difficulty of programming them to meet all the W3C language standards. Not so much a Herculean task as a new Circle of Hell.
As for me, I’ll look over the book I have and then decide. My main reason for upgrading my web skills was not so much to be current, but to use a better, cleaner—and thus simpler—language. Something more consistent and therefore easier to fix.