Earlier I noted
my dismay at the difference between nice self-contained compiled programming and the sloppy mess of Web programming.
Now that I'm pretty much done with this project, the dismay is even worse. I just finished combing through all 5200 pages of the project to fix a couple of subtle HTML oddities that my 'batch converter' had produced rather consistently. These oddities don't cause errors because browsers are designed to handle them at the moment, but you can't count on quirksmode
to last very long. So they needed to be fixed.
In a properly organized programming setup like C++ or Fortran, these oddities wouldn't have made it past the compiler. And if they weren't exactly syntax errors, they could have been caught by various helper tools. There is no quirksmode
In the current HTML setup there aren't even any usable tools. There are some things called HTML Tidy and HTML Lint, but when you try to use them you find that they haven't been updated since 2007. They don't handle half of the actions that a 2014 web app is expected to contain. They aren't aware of SVG or RWD or browserhacks, so they halt with a flurry of meaningless error messages.
Even the written standards aren't updated to reflect modernity. SVG pretty much stopped developing and standardizing around 2009, while its use continues to increase.
The whole area of standards and checking is an emptied-out neighborhood.
It was abandoned in the mad rush to NEW NEW NEW.
So: I had to run through all 5200 pages by hand. I could have written a Python quickie to detect and change the most common problem, but after trying it I realized that good old Eyeball Mk I
was indispensable. The most common problem didn't always appear as the same mechanically detectable stream of characters, and my Eyeball was able to catch other oddities plus a few non-HTML problems that QA had missed. The process didn't take nearly as long as it might seem. I kept close track of time, and it amounted to 8 hours spread over 3 days.
Many coders resort to big heavy packages like Jquery or Twitter-Bootstrap to handle the jobs that standards are supposed
to do. I resisted pressure in that direction, partly because I'm cranky and old-fashioned, and partly because I don't trust the Open Source situation of those packages. You're not buying
a license to use those helpers, so they aren't responsible to your needs. You're relying on the web to fetch the core of those systems, and the web could cut off your access at any time, or divert to something fake or malicious.
= = = = =
Emptied-out standards, big packages. Reminds me of modern American cities. Emptied-out downtowns, compiled neighborhoods extinct,
rich folks living in gated communities with private security. No security for the ungated; you have to keep your Eyeballs open and your private weapons ready.