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
