In “9 Truths That Computer Programmers Know That Most People Don’t” by Macleod Sawyer, he quotes Ben Cherry and adds the following after:
“Under the hood, most critical software you use every day (like Mac OS X, or Facebook) contains a terrifying number of hacks and shortcuts that happen to barely fit together into a working whole. It would be like taking apart a brand-new 747 and discovering that the fuel line is held in place by a coat-hanger and the landing gear is attached with duct tape.” – Ben Cherry
That’s the funny thing about code, the website or program may work beautifully, it may run smoothly, and it may be absolutely beautiful on the front-end side (what the user sees). But, behind everything that makes it work it will have so many errors, and work arounds that barely work and that shouldn’t work, but do for some strange reason.
While this may apply to computer programming, it also applies equally to the web.
In March 2013, a study at Drexel University in Philadelphia, Pennsylvania, was conducted to evaluate the most common errors beginners make when learning HTML and CSS. Louis Lazaris of Sitepoint analyzed those results recently. He quoted from the survey a conclusion that explains the reasons most errors persist in HTML and CSS:
When a beginner writes code that has many errors but still renders as desired, they receive positive feedback in the form of the properly formatted web page. These errors are latent, remain unresolved, and reinforce faulty understandings that can become difficult to overcome.
This explains the statement by Ben Cherry. Web browsers work overtime to display whatever we throw at them in the code. Doesn’t mean it is right, deprecated, or totally wrong. The goal of the web browser is to display content on a web page. So remember, just because it looks right on the web page doesn’t mean it is right.
There is much about HTML and CSS that works perfectly with little or no effort. It makes sense. Then there are parts of HTML and CSS that make little sense. HTML5, the latest version, was supposed to clean up many of the inconsistencies and strange behavior, but it has its quirks, too. Things that should work, don’t. Things that shouldn’t work, do. We must understand not only how to code, but how the browser interprets that code. This is why I started out these two mini-series with the web browser before talking about HTML and CSS.
Welcome to programming.
I’ve put together a list of some basic guides and helpful sites for you to add to your resources and maybe learn more about how HTML and CSS work. This is a course about learning WordPress, and HTML and CSS are the basic building blocks. It is not a course for learning HTML and CSS. Hopefully the recent posts in this mini-series on HTML and CSS gave you a taste and will help you understand more about how a WordPress Theme works and how to modify it in future lessons.