4 ms·
I used it in a Data Curation course. Extremely difficult to learn and found it pretty useless. Entire class struggled with it. You can often use recursive SQ
by Vaslo 5y ago
I used it in a Data Curation course. Extremely difficult to learn and found it pretty useless. Entire class struggled with it. You can often use recursive SQL to some of what it does.
Sorry to insult anyone or the creator but just being honest.
- Fellshard 5y agoDid the class learn SQL before they learned Datalog? Did they know SQL before entering the class? Did they learn the principles behind SQL, or just understand how to use the language to get things done? Finding Datalog useless and frustrating comes from those who have never expanded the depth of their knowledge beyond the basic popular languages and tools of the day. Slight exposure to logic programming and base-level relational model theory makes this tractable.
- chmod600 5y ago"Finding Datalog useless and frustrating comes from those" There are many reasons that people might get frustrated. If you assume without further evidence that it's purely due to user ignorance then you aren't likely to learn about any real shortcomings.
- Fellshard 5y agoI am willing to make that assumption when we're talking about people in an academic context.
- YeGoblynQueenne 5y agoLogic programming is a difficult subject to teach and I've heard similar accounts to yours ("entire class struggled with it") for Prolog which I'm more familiar with. To be honest, I find datalog simple compared with Prolog -the only real complexity is in understanding fixpoint semantics which can be hairy at first- and so I'm surprised to hear your class struggled with it. Of course I'm surprised only because I've been using and studying logic programming for a good ten years now and I have to struggle to remember how it was when I first started learning the subject. It was hard :) I think though teaching Datalog as part of a databases - related (?) class makes it even harder. Datalog was basically created from Prolog's rib and it doesn't make a lot of sense without at least some background in logic programming, which I suspect is not given in a databases course. I also suspect your tutor would have gone from relational calculus to Datalog, that's a surefire way to maximise confusion. Anyway logic programming is so far from most programmers' experience that it's hard to know where to start with its teaching. I've struggled with the question often because I help mark papers for Prolog courses at my uni and I can see the carnage and my heart goes out to the poor students, and the tutor. So, yeah, you're not insulting anyone. Everyone understands it's a hard subject to teach.