On Sun, Oct 10, 2010 at 9:01 AM, Leo Richard Comerford <
[email protected]> wrote:

>
> On 10 October 2010 01:44, John Zabroski <[email protected]> wrote:
>
> > To be fair, Tim had the right idea with a Uri.
>
> He also had a right idea with the Principle of Least Power. Thesis,
> antithesis...
>


You're referring to [1], Tim Berners-Lee's Axioms of Web architecture.

This is such a shallow document and mixes basic principles up in horrible
ways, and he doesn't formalize things mathematically that need to be
formalized mathematically to truly understand them.  He was NOT right.  If
anything, this document sounds like he is parroting somebody else without
understanding it.

For example, his section on Tolerance is parroting The Robustness Principle,
which is generally considered to be Wrong.  There is also a better way to
achieve Tolerance in an object-oriented system: Request-based Mediated
Execution or Feature-Oriented Programming where clients and servers
negotiate the feature set dynamically.  His example of the HTML data format
is ridiculous and stupid, and doesn't make sense to a mathematician:
Allowing implicit conversions between documents written for HTML4 Strict and
HTML4 Transitional is just one of the many stupid ideas the W3C has had.

What about his strange assertion that SQL is Turing Complete?  What is Tim
even saying?  He also says Java is "unashamedly procedural" despite the
fact, as I quoted earlier in this thread, he admitted at JavaOne to not
knowing much about Java.  Did he suddenly learn it within the year timespan
he wrote this letter from the time he gave that talk?  I suppose that's
possible.

He also writes "Computer Science in the 1960s to 80s spent a lot of effort
making languages which were as powerful as possible. Nowadays we have to
appreciate the reasons for picking not the most powerful solution but the
least powerful.  Nowadays we have to appreciate the reasons for picking not
the most powerful solution but the least powerful. The reason for this is
that the less powerful the language, the more you can do with the data
stored in that language."  I don't think Tim actually understands the issues
at play here, judging by his complete non-understanding of what Turing-power
is (cf. SQL having Turing-power, ANSI SQL didn't even get transitive
closures until SQL-99).  There is more to data abstraction that data
interchange formats.  Even SQL expert CJ Date has said so: stuff like XML
simply solves a many-to-many versioning problem among data interchange
formats by standardizing on a single format, thus allowing higher-level
issues like semantics to override syntactic issues.  This is basic compiler
design: Create a uniform IR (Intermediate Representation) and map things
into that IR.  Tim's verbose explanations with technical inaccuracies only
confuse the issue.

Besides, as far as the Princilpe of Least Power goes, the best example he
could give is the one that Roy Fielding provides about the design of HTTP:
Hypermedia As The Engine of Application State.

If you want great Design Principles for the Web, read (a) M.A. Padlipsky's
book The Elements of Networking Style [2] (b) Radia Perlman's book
Interconnections [3] (c) Roy Fielding's Ph.d. Thesis [4]

Mike Padlipsky actually helped build the ARPANET and supposedly Dijkstra
gave Mike permission to use GOTO if he deemed it necessary in a networking
protocol implementation, Radia Perlman is considered as having written one
of the best dissertations on distributed systems, and Roy Fielding defined
the architectural style REST.

[1] http://www.w3.org/DesignIssues/Principles.html
[2]
http://www.amazon.com/Elements-Networking-Style-Animadversions-Intercomputer/dp/0595088791/
[3]
http://www.amazon.com/Interconnections-Bridges-Switches-Internetworking-Protocols/dp/0201634481/
[4] http://www.ics.uci.edu/~fielding/pubs/dissertation/top.htm
_______________________________________________
fonc mailing list
[email protected]
http://vpri.org/mailman/listinfo/fonc

Reply via email to