6 ms·
Definitely. There was an effort to remedy this with draconian error handling (XHTML), and it badly flopped. Edit: I don't mean "draconian" in a pejorative sens
by whipoodle 9y ago
Definitely. There was an effort to remedy this with draconian error handling (XHTML), and it badly flopped.
Edit: I don't mean "draconian" in a pejorative sense, it is just typically the word used to describe this.
- robertlagrant 9y agoFunny how people think that throwing a syntax error is "Draconian" just because it's HTML.
- jacquesm 9y agoBecause an end user has zero recourse after getting such a syntax error. Those are only useful for developers. Graceful error handling is one of the things that set good applications apart from (really) bad ones.
- zAy0LfpBZLC8mAC 9y agoThat is about user errors, not about servers sending garbage. If browsers did strictly enforce HTML syntax, there would be no problem for users at all, because servers simply would not be sending garbage. When an SSL server sends just one bit wrong, that will lead to the connection simply aborting. Have you ever seen that being a problem for users? No, because servers simply implement the frickin spec when deviating from the spec means that your connection gets dropped.
- inimino 9y agoAnd users don't author SSL streams in text editors. You seem to have forgotten what HTML was created for. It's a document format. If a browser did strictly enforce (what, HTML 4.01?) syntax, there would be no problem for users at all, because that browser would not have any users.
- zAy0LfpBZLC8mAC 9y agoJust like Java compilers have no users at all because they refuse to compile broken source code?
- inimino 9y agoIf authors published their Java source code on the Internet, and random casual visitors expected their own existing compiler to run it, you'd see the same competitive forces at work. Now imagine most of those users don't know what a "compiler" is and are using the one that came with their OS. Now imagine you are a competing compiler vendor who worked very hard to get some of those same users to install your compiler specifically. And by the way, users expect the same compiler to compile all the projects and would be shocked and annoyed if they had to use different compilers for different code.
- zAy0LfpBZLC8mAC 9y agoYes, of course there is an explanation for the asshole behaviour of software vendors. That does not make it any better. Introducing and keeping unnecessary deviations from the standard in your software product creates massive costs for other parties in the long run (aka, externalities). Creating those costs in order to gain an advantage in the market is just the behaviour of an asshole.
- eridius 9y agoIt's draconian because an error anywhere in the page causes the entire page to stop rendering, instead of just causing that one small section with the error to stop rendering.
- vageli 9y agoThis behavior is pretty common, though. Typo in variable name in Python? Program will stop mid-execution with a traceback.
- eridius 9y agoYes, but that's source code. You can't run a partially-compiled program, so of course an error anywhere stops everything. But HTML isn't a programming language, it's a markup language, and you absolutely can render a partially-correct page. This might be more obvious if you consider a different markup language instead. Let's say you're using Markdown, and you start an italic block with an asterisk and forget to terminate it. Should the whole comment fail to render, or should it just fall back to showing a partially-correct comment?
- zAy0LfpBZLC8mAC 9y ago> Yes, but that's source code. You can't run a partially-compiled program, so of course an error anywhere stops everything. But you absolutely can compile a program with syntax errors. There is nothing that prevents compiler writers to be equally "forgiving" and just inventing random semantics for stuff that does not have any meaning in the language, just as browsers do with HTML. And it would be just as idiotic.
- eridius 9y agoThat would certainly be idiotic. But that would not be "just as idiotic", because it's not even remotely idiotic to do a partial rendering of a document that has some incorrect markup in it. In fact, your claim there is begging the question.