W3C home > Mailing lists > Public > semantic-web@w3.org > September 2008

Re: Plan3 — A Procedural RDF Programming Language

From: Sean B. Palmer <sean@miscoranda.com>
Date: Wed, 24 Sep 2008 16:03:06 +0100
Message-ID: <b6bb4d890809240803x469e99f5pa1e156dd99a4f16e@mail.gmail.com>
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 GMT

This archive was generated by hypermail 2.3.1 : Tuesday, 26 March 2013 21:45:25 GMT