[xquery-talk] [xml-dev] Mistakes made in the design of XQuery 3.1

Ihe Onwuka ihe.onwuka at gmail.com
Mon May 25 02:09:29 PDT 2015

On Sat, May 23, 2015 at 2:11 AM, daniela florescu <dflorescu at me.com> wrote:

>> The unfortunate choice of those two keywords (“for” and “return” instead
>> of “from” and “select’) in XQuery had
>> such a HUGE impact on adoption (or not)  of  XQuery, it’s amazing.
>> It’s not too late to add the macros…..and make XQuery understandable to
>> people who only want to see
>> select… from ...
> Big mistakes.
> Ihe,
> THAT particular choice of keywords (FOR/RETURN… instead of FROM/SELECT)….
> is  MY mistake ENTIRELY. 100% MINE.
> I regretted that (daily) in the past 16 years …..and did LOTS of penance
> for it…..please believe me.
Methinks you are underestimating peoples hypocrisy.  Take something like

Select album from music_Artist where name = "The Police"

This is what passes without complaint in MQL a JSON based query language
(example from http://wiki.freebase.com/wiki/MQL)

  "type": "/music/artist",
  "name": "The Police",
  "album": []

If I may revert back to the SQL/NoSQL issue. People perceive SQL as just
that. A query language for querying  structured data and in their minds
that subsumes semi structured data. They don't see it as a codification of
relational algebra that operates on relations. If they did they might be
more hesitant about expecting anything good to result from applying SQL to
things that are not relations. That however, would require the learning of
a little bit of theory and unfortunately we have to co-exist with people
who write code for a living but passionately believe that being uneducated
is a virtue. These same people propagate blogs illustrated with simplistic
examples and before you know it Stupid Is As Stupid Does becomes the
defacto paradigm.

So don't beat yourself up about it.

> I could tell you the story… maybe it’s fun, maybe it’s interesting from a
> technology/history perspective.
> =====
> It was 1999, and I was a researcher in INRIA, studying query languages and
> query processing for semi-structured data. (since 1996 when I was in ATT
> Research)
> I was stuck in Paris, where nothing ever happened in technology, and I was
> dreaming of going to Sillicon Valley, where EVERYTHING happened.
> So, I managed to become a visiting scientist at IBM Almaden in Sillicon
> Valley.
> My boss at that time, Mike Carey (now professor it Univ. Irvine), just
> decided to leave IBM for a startup — Propel.
> He didn’t know what to do with me (I was his responsibility :-) …., so he
> took me by the hand to Don Chambelin (of SQL fame)
>        across the hall, and he asked me: “Why don’t  you work with Don
> Chamberlin on this XML query thing, after I am gone ?”
> That’s what I did, together with Jonathan Robie, and the result was Quilt,
> the precursor of XQuery.
> Well, it happened that my PhD thesis was on query languages and query
> processing of object-oriented languages, and OQL was a functional language,
> above
> and before being a query language. Hence, XQuery became a functional
> language.
> Well, in the same time, I was teaching in a French university the ML
> programming language, a long love of mine, as programming languages are
> concerned.
> Here is the catch: ML used the words FOR and RETURN for monoid
> comprehension….which both the Select-From-Where of SQL and the FLOWR
> expression are.
Is that also where we got typeswitch from... ML?
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://x-query.com/pipermail/talk/attachments/20150525/e031e52b/attachment.html>

More information about the talk mailing list