Email address obfuscation in effect -- please
click here to turn it off.
[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
On Fri, 2 Mar 2001, Neil Bradshaw wrote:
> How hard would it be to code a completely w3-compliant web browser?
I think the harder part would be getting through the 12-step program
afterwards. :-)
> No proprietary specs, just w3 recommendations and specifications.
Well, which specs? Some are *much* harder than others. As soon as you do
any graphical rendering above the level of Lynx, the level of complexity
goes way up. And then there is the question of style sheets; CSS1 (much
less CSS2) is a very formidable undertaking indeed, if you had to code it
by hand. Similarly, any attempt to deal with javascript forces you to
deal with the DOM specs. And then there's the problem of what you want
your compliant browser to do with non-compliant (or even non-parsable)
HTML. To put it another way, lots of people start doing things like this,
but only about five or six groups in the world have ever finished since
W3C recommendations held any sway.
> I'm guessing C is the way to go for such a monsterous undertaking.
If I really had to write a web browser, I pretty much know that I would
have to make extreme use of libraries written by others. It's the same
argument as with writing many mathematical applications: anybody who codes
up low-level linear algebra routines from scratch these days is either
doing research in that exact field, or is a completely hopeless case.
But even if you're using Gecko to render and something else to handle
network protocols, an off-the-shelf HTML parser, you're still in for a
huge amount of coding.
As for using C, I'm pretty sure you'd have to be able to call C libraries,
but very dubious about writing the whole thing in C. I think the last
remotely compliant browser written by a very small team or a single person
is William Perry's Emacs/w3 (see
http://www.cs.indiana.edu/elisp/w3/docs.html ), which was written in Emacs
lisp and re-used tons of code from elsewhere. But that was 1999, and it's
missing a lot these days. Grail was a browser written in Python, and I
think somebody did one in O'CAML (an object-oriented ML derivative).
These days, it seems like the "macho" programming task in a language is to
write a compliant server.
But, hey, if you're still young, who is to say? Back when I was foolish,
I rewrote an embarassingly large subset of emacs-editing functionality
in...Hypertalk. Don't ask me why. But it was kinda like writing a web
server in Cobol; sure, you can do it, but, oh! the humanity!
jking
--
To manage your subscription, go to http://mlug.missouri.edu/members/edit.php
Archives are available at http://mlug.missouri.edu/list-archives/