Subject: Re: [xsl] Vendor extensions for XSLT - higher order functions From: "Dimitre Novatchev" <dnovatchev@xxxxxxxxx> Date: Mon, 23 Jul 2007 11:47:48 -0700 |
You misunderstand. Michael's remark on the type of examples that ought to be given was (from the perspective of a working programmer who has read and spent thousands of dollars on books over the years) was excellent.
I, like many, many (may I even say most) programmers have come to the craft by way of job necessities rubbing up against tools, and fueled by imagination and curiosity, with little or no formal training in the academic discipline of programming. I have heard of Don Knuth, and even seen his books on the shelves at book stores, but I don't claim to have read them.
So examples showing how to use a function to solve a practical business problem are much easier for me to grasp than examples that demonstrate solving a theoretical computer science problem.
I am sorry if you have similar difficulties in regards to FXSL. It is pretty basic stuff and certainly requires some training like we all need for such basic real-world activities as driving, swimming, biking.
Some people are making simple things look complicated talking about the "functional programming paradigm" or the need of "paradigm shift".
The same goes for "theoretical computer science" vs "practical business" problems.
Most programs contain implementations using/dealing-with some most basic concepts such as mapping, folding, repetition/iteration, list processing. The same is with books: they all contain words, regardless on what topic of the book.
If we want to write a program that implements a particular algorithm, we must understand the building block/concepts of that algorithm.
For me, the most attractive feature of FXSL is that it *requires learning*. The result of this learning may be much more important than using FXSL itself.
Of course, one may decide not to learn to read because reading is an academic exercise, but most people stop thinking so after reading a book for the first time.
-- Cheers, Dimitre Novatchev --------------------------------------- Truly great madness cannot be achieved without significant intelligence. --------------------------------------- To invent, you need a good imagination and a pile of junk ------------------------------------- You've achieved success in your field when you don't know whether what you're doing is work or play
-- Charles Knell cknell@xxxxxxxxxx - email
-----Original Message----- From: Dimitre Novatchev <dnovatchev@xxxxxxxxx> Sent: Mon, 23 Jul 2007 09:09:00 -0700 To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx Subject: Re: Re: [xsl] Vendor extensions for XSLT - higher order functions
On 7/23/07, cknell@xxxxxxxxxx <cknell@xxxxxxxxxx> wrote: > You do yourself a favor when you listen to criticism, especially well-intentioned criticism from a source with experience in the field.
Oh, my statement on the need to learn was not a criticism -- just stating a fact.
> -- > Charles Knell > cknell@xxxxxxxxxx - email > > > > -----Original Message----- > From: Dimitre Novatchev <dnovatchev@xxxxxxxxx> > Sent: Mon, 23 Jul 2007 06:52:36 -0700 > To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx > Subject: Re: [xsl] Vendor extensions for XSLT - higher order functions > > > FXSL, unfortunately, is so powerful that I think many "ordinary" users find > > it rather daunting. A gentler introduction, using examples from the world of > > commercial IT systems rather than computer science, would help to sell it to > > the general public. > > There is nothing so powerful in FXSL and it implements some most basic concepts. > > Concepts like: fold, map, compose, repeat/iterate -- form the > alphabet of programming. > > Certainly, if someone has arrived at grade 5 in school and still > doesn't know the alphabet, this person will find reading even ordinary > text rather "daunting". > > To summarize, FXSL provides a big potential to learn, requires > learning, and this is even a bigger value than simply the provided > functionality. > > > -- > Cheers, > Dimitre Novatchev > --------------------------------------- > Truly great madness cannot be achieved without significant intelligence. > --------------------------------------- > To invent, you need a good imagination and a pile of junk > ------------------------------------- > You've achieved success in your field when you don't know whether what > you're doing is work or play > > On 7/21/07, Michael Kay <mike@xxxxxxxxxxxx> wrote: > > > I am curious to know why some XSLT vendors have implemented > > > one or more XSLT extension functions with their product to > > > make for the implementation of higher-order functions (HOF) in XSLT. > > > > In the case of Saxon, it was needed by an XQuery user, and availability in > > XSLT was just a spin-off. It's not possible to use the FXSL approach in > > XQuery because it relies on xsl:apply-templates. In fact, this kind of > > capability is needed much more in XQuery because even without FXSL, there > > are many things you can do with xsl:apply-templates to handle dynamic > > content that have no simple solution in XQuery. > > > > In fact, in business applications I far more often see the need for > > saxon:evaluate() (in both XSLT and XQuery) where expressions are constructed > > at run-time from strings. But saxon:evaluate() is easy to understand, and it > > often gets used to solve problems where compile-time higher-order functions > > would be a cleaner and more efficient solution. > > > > FXSL, unfortunately, is so powerful that I think many "ordinary" users find > > it rather daunting. A gentler introduction, using examples from the world of > > commercial IT systems rather than computer science, would help to sell it to > > the general public. > > > > Michael Kay > > http://www.saxonica.com/ > >
-- Cheers, Dimitre Novatchev --------------------------------------- Truly great madness cannot be achieved without significant intelligence. --------------------------------------- To invent, you need a good imagination and a pile of junk ------------------------------------- You've achieved success in your field when you don't know whether what you're doing is work or play
-- Cheers, Dimitre Novatchev --------------------------------------- Truly great madness cannot be achieved without significant intelligence. --------------------------------------- To invent, you need a good imagination and a pile of junk ------------------------------------- You've achieved success in your field when you don't know whether what you're doing is work or play
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] Vendor extensions for XSL, Dimitre Novatchev | Thread | [xsl] does instant saxon 6.5.3 supp, Alan Arnfeld |
Re: [xsl] .NET Dynamic Languages Gr, M. David Peterson | Date | RE: [xsl] Output to a file..., Naschke, Pete |
Month |