[xquery-talk] adding comprehension to imperative languages or vice-versa

daniela florescu dflorescu at me.com
Tue Jun 23 16:23:14 PDT 2015

> As far as what's "better", I think that there are really two different questions here: what's "better" in The Right Way sense, and what's "better" in a "how do you get people to use this" sense. For the latter, there's no doubt in my mind that the way there is to get existing mainstream languages (which are all imperative at heart) to adopt more declarative goodness, including comprehensions/queries, as a subset - it's a much gentler transition for existing users of those languages, and more importantly, it's like a new instrument magically appearing in a toolbox that they already use daily - at some point they're bound to pick it up and use it even just out of sheer curiosity. It's much harder to get someone interested in a completely new language in comparison.

As I said in my previous email. 

Now in 2015 I realize that developers have their “favorite” language, and making them change it’s close to
impossible, so the optimal is to give them better tools to do their job in THE language they are more productive in.

So if this is C#, or Javascript, or whatever…. let it be.
(ever crossed your mind why in an EC commerce site when you sort on price/sometinh, it GOES BACK TO THE SERVER most of the time to
do a simple sort on 20 products  !???? Sounds stupid no, ? well, that’s because Javascript doesn’t HAVE a sortby ….so …)

It’s better for those imperative languages to HAVE a sequence comprehension then NOT to have it. It makes the developers
in those languages (who otherwise wouldn’t have changed anyway…) more productive….

Now, the fact that 90% of developers like comfort and/or are learning impaired and cannot learn something new
 does NOT mean that ALL developers are lazy and/or learning impaired and cannot learn something new…..

For those who CAN learn something new, or for the fresh new students with blank, fresh new minds…..well, teach them something better
and more productive.

And that would be (according to me..) the OTHER way around: a language 95% declarative +  5% imperative.

As I gave you as an example: when Oracle Fusion started the idea was that Java, being easier to program in then the “declarative” PL-SQL…. the 
applications will be MUCH better.

Well, 10 years later, multi-billion investment with epsilon returns, it turns out that the PL-SQL version was MUCH better then the Java version.
(1000 times more code, more bugs, less productive, more developers, more politics and decision makers, etc, etc — as simple as that ..)

A failure that Oracle never talks about ….. just Oracle Fusion silently disappeared from the marketing slides :-)


So, no, I would not take either side at this point.


More information about the talk mailing list