Richard O'Keefe wrote:
The most popular declarative language is SQL. Perhaps the fact that it doesn't use recursion may be a factor in its success?
Well, in theory (sic), it uses set theory instead, which is just differently abstract from recursion and self-reference. I frivolously suggest, however, that most users of SQL probably concentrate on selecting and combining the edited highlights of curiously-needled data stacks, which are easy to model in concrete terms without drawing on diagrams by Mr Venn. Lindsay Marshall wrote:
How many of the users do really hard joins and actually understand what
> they are doing? I thought just the same about this. If you're using MySQL, you probably can't even do some types of join (such as full outer joins), and you're not advised to do self-joins either, if you want your queries to finish by going-home time. Most SQL developers probably get away with inner and outer joins, and do anything more complicated externally, such as in a bunch of loops in PHP, which means they barely need to deal with the declarative world except as the source of more haystacks. I think it's no surprise that those with a maths background find recursion less head-splodey than those without one, because those students are more practised at abstract thinking, and defining things in terms of their own definitions is certainly more abstract than concrete. For most practical uses of computers, where the software shadows the Real World of Hay and Needles, I'd say it's probably inessential to be able to think abstractly, although it undoubtedly limits the problems you can work on effectively, particularly outside of IT farming metaphors. -- Frank Wales [[email protected]]
