Comparing the Lisp conference with the Scheme workshop a month ago, I got a strong impression that Lisp and Scheme, despite the common syntax, are different languages and communities. I think Python is closer to Haskell than Common Lisp (CL) is to Scheme. CL seems to me like a Smalltalk with round parentheses. Scheme community is more diverse and values a functional approach. In contrast, CL community seems more pragmatic -- and more ad hoc. The CL code I saw is very object-oriented, very stateful, very Smalltalk-ish.
``ITA Software is a 50-person company based in Cambridge, MA and the creator of the world's most advanced airfare shopping search engine, primarily written in Common Lisp. ITA licenses this technology to airlines and to other companies in the travel industry.''
It was revealed that Orbitz, a popular online (air)travel reservation system, itself Lisp throughout. Their engine accepts XML requests and generates XML and HTML pages, but internally runs Lisp. The presenter said customers don't care what's inside of the system. The presenter pointed out that the airline industry is in flux, therefore, the search and reservation code has to be frequently adjusted. Hence, the clarity of expression of an algorithm is paramount -- that's the main reason why they use Lisp.
Well, tough luck, I say. Apple did something similar: it bundled AppleScript as a free add-on to MacOS 7, and destroyed Userland Frontier, a commercial scripting language for MacOS. Dave Winer, the creator of Frontier, never missed a chance to complain about Apple.
I can understand Kent Pittman's frustration. I don't understand though how OpenSource programmers, Free Software programmers and Richard Stallman personally can be held responsible. Judging from the questions, lots of people in the audience didn't understand it either. Kent Pittman went on to say that OpenSource is a threat to software businesses, and that "responsible" programmers should not release 'hot' products until one-two years after commercial products showed up. Responsible programmers should not pre-empt commercial products.
In the second part of the talk, Kent Pittman floated a proposal to "unbundle" consensus building from assigning permanent names to the descriptions of particular language features. He called them 'substandards'. Consensus will come afterwards, in the process of implementing and using the features. Kent Pittman already registered a domain name and a company in NH. He went on to describe substandards, which sound exactly like SRFI (Scheme ``Requests for Implementation''). When he was asked (by Rob Warnock) directly about SRFIs, Kent Pittman admitted that there are many similarities. There are differences: Kent Pittman will charge the submitters of sub-standards up to $300; His web site will let people log their preference for particular SRFIs (I mean, substandards). People will be charged around $20 per year for such a privilege. Kent Pittman then went on to say that in his view, SRFIs are elitist. Some other presenters (such as Peter Norvig) also exhibited a new kind of logic that I'm not familiar with. SRFI editors are to be congratulated: they designed and implemented yet another feature that CL folks only now are coming to appreciate.
<> to round
ones. If you can use Lisp, you should -- he said, -- but sometimes,
you're constrained: you have to accept legacy XML documents and XSLT
stylesheets. His solution: design a programming language with an XML
syntax. He went on to present such programming language: `Water'.
As it turns out, XML syntax is indeed unsuitable for a programming language. Therefore, the language Water uses a simplified XML syntax. The language is not Lisp either -- neither in notation (which is infix), nor in semantics. It looks a lot like a Javascript. Programs in the Water language can run either on a server, or on the client, in a browser plug-in.
This talk left several people puzzled: at first the presenter said he wanted to use XML because it's popular, and Lisp because it's a good language. He ended up using neither. Incidentally, Water requires a license for a commercial use. I really felt we need to advertise SXML: SXML can do everything Water does -- and do more and better.
I wanted to talk with Henry Lieberman and point out that there is another way to assure interoperability with the XML culture. Rather than translating Lisp to XML, we can translate XML and XML tools into Lisp. That's what the SXML talk was all about. I didn't catch him. The conference schedule didn't leave much time for discussions. Anyway, SXML ideas are timely, we are not doing worse than other people -- and perhaps better.
My overall impression from that talk is disappointment: I thought people at MIT media lab can design better languages than I do.
There was an interesting slide, of one of the Google server rooms: 10,000 computers densely packed in racks. Peter Norvig said that they pushed the envelope on how many computers one can fit in a room. Therefore, they have extra fans on the floor between the racks. That slide was symptomatic: Google indeed pushes the envelope. Some day the envelope may push Google. If an accident (fire, flood) occurs in that machine room, an insurance investigator might find the owner disregarded safety rules and the electric code, and refuse to pay.
Peter Norvig seems to have turned to the dark side. He promoted statistical approach to knowledge representation. There is no need to build knowledge databases like Cyc or Semantic Web, he claimed. We just index the humongous collection of all web pages. To answer the question "Who killed Lincoln" we enter that string into Google and find the answer on the first page.
Alas, the correct answer is seldom the very first. So we have to choose among several answers on the page. So, we have to already know what the answer looks like. That fact, that we do need to have some knowledge to find the answer in Google, seems to have escaped Peter Norvig. I'm appalled how Peter Norvig who wrote books on AI could fail to see the trap.
Incidentally, a similar query "who killed McKinley" gives the sought answer at the very bottom of the page. At the top of the first page are "We Killed McKinley" song and a newsbrief "Four Killed in McKinley Crash." The results do vary depending on how you ask the question. Furthermore, Google merely indexes pages without ascertaining their veracity. Google has the same bias as a TV poll: both reflect the views of the people who actively chose to make their opinions known -- of a vocal minority.
Peter Norvig was also cavalier about programming languages. He said people often need more control over memory allocation -- that's why they choose C++. Google uses a lot of C++. Doesn't Peter Norvig know how hard it is to manage memory? That's why it is better to leave this task to professionals. One of his slides said: ``It's better to hire an active VB programmer than a guru who isn't interested in your problem''. This is exactly the attitude that keeps bringing buffer overflow news every week.
Peter Norvig mentioned <labs.google.com/sets> -- an experimental feature of Google. You enter a few (key)words and Google will find sets or clusters of 'related' items.
In general, I got an uneasy feeling about Google. They seem to be too much 'cowboy programmers'. One day it will cost them.
The article was a comment on the arrest of two alleged snipers who had terrorized the Washington, DC area for over a month. The article elaborated how wrong various ``profilers'', ``forensic psychologists'' and ``former FBI investigators'' turned out to be. These pundits dominated TV and online news, and yet their attempts to develop a profile of and to uncover the motivation for the sniper attacks largely missed the mark. The speculations of pundits might have diverted the community and the police into looking for wrong suspects.
The article concludes,
``Criminal profilers may be the logical outgrowths of a society that believes that all of human reality can be quantified, a culture that has a touching faith in the truth-revealing ability of statistical analysis [sic!]. It's part of the same belief system that has given us governance by polls, insurance by actuarial tables, newspapers by readership surveys and just about everything else by focus groups. It has also given us criminal investigation by number-crunching spreadsheets and computer-enhanced conjecture. But as the sniper case seems to reveal, profiling can be especially dicey when you're dealing with the madness of the human mind.''
RDF is a formally defined "is-a" relationship. DAML+OIL builds on the top of it, and provides more support for ontologies. In particular, DAML+OIL defines cardinality constraints, classes, equivalence, the disjointness of classes. The next generation of DAML+OIL is OWL (web ontology language), whose discussion nears completion.
RDF is widely used -- as Dublin Core. Also, Adobe has committed to RDF, and uses it in XMP (extensible metadata form). Every PDF document stores its meta-data in RDF.
There is a DAML version of a freely-available subset of Cyc.