- From: Sean B. Palmer <sean@miscoranda.com>
- Date: Wed, 24 Sep 2008 16:03:06 +0100
- To: "Sandro Hawke" <sandro@w3.org>
- Cc: public-cwm-talk@w3.org, semantic-web@w3.org
On Wed, Sep 24, 2008 at 3:13 PM, Sandro Hawke <sandro@w3.org> wrote: > Could you explain that point? Yep, sure, though this'll probably be a bit of a ramble. In sum, all of the mainstream bob-a-job programming languages are imperative. There is lots about RDF that is suited towards declarative programming, but N3 took it too far. I haven't done any great survey about this à la my old N3 QNames survey, but experience tells me that RDF APIs tend to be developed in imperative languages because that's how people get things done. It's difficult to tell between trendiness and a good idea. Heck, sometimes even trendiness quâ trendiness is a good idea. Paul Graham says somewhere that languages like Java are an evolutionary dead end. Then again, he also says that the evolutionary victor will be lisp. The "novel" strangeness might not be novel from a universal perspective, and I didn't mean to imply that in my email if I did, but from a personal perspective it was something that nagged at me all the time. So I tried it out. Trying things out is what science is founded on, and computer science is no different. I've been working with N3 for years. I love N3; I love it dearly. But it's mad. So I tried plan3 and that was mad too, but in a different way. Then I tried Trio and Arcs, and that was mad too but in a *completely* different way. How can you tell that N3 is good (whatever that means) if you don't try other things? At the end of the day, for high-level architectural decisions people say things bourne out of long experience, and if Paul Graham goes and says something like "Java is a dead end, lisp is the future!", then it's an interesting point, and you might not agree, but the truth of a statement like that isn't the primary thing about it. It makes you think. Plan3 made me think; think *practically*. The declarative way of doing things in N3 really gets on my nerves, so hybridising the two really made sense. If the Semantic Web is successful on its putated terms, like if Tabulator and such things become a part of our daily lives as timbl once said, my bet is that N3 will be an evolutionary dead end, and that language like plan3 or Niklas's Ardele will be more suitable. But after all, cum grano salis, because plan3 and Ardele (from what I can tell from its syntax example; Niklas hasn't fully specified the design online yet) seem to aim for a 50:50 declarative-imperative split. Perhaps the sweetspot would be elsewhere, like 30:70. Note that it doesn't really concern me too much; it's outside of the realm of my personal interests at the moment. I just gave it as an example of what might be the primary value of me releasing this. I was thinking some people might say "what is the point of this?", otherwise. I think it's a good question to ask. (Sometimes the benefits of systems can be far off. Prime number research was just pure maths, pure intellectual fun, until we realised we could use it as the foundation of public key cryptography.) Hope that helps, -- Sean B. Palmer, http://inamidst.com/sbp/
Received on Wednesday, 24 September 2008 15:03:41 UTC