3 ms·
Regarding your last sentence: Yes, I can confirm that this has happened, to a reasonable extent of "learned" in the sense that people went on to write programs
by triska 8y ago
Regarding your last sentence: Yes, I can confirm that this has happened, to a reasonable extent of "learned" in the sense that people went on to write programs using this material. However, I do not know how common this is, since I almost exclusively get feedback from those who found the material suitable. There were definitely complete beginners among them. For instance, here is a discussion that happened a few months ago, where it appears that also beginners comment positively:
https://www.reddit.com/r/programming/comments/7pbkfv/great_free_book_on_modern_prolog_with_indepth/ https://www.reddit.com/r/programming/comments/7pbkfv/great_f...
More recently, two university instructors started to use this book in courses that assume no previous knowledge about the language:
Andrej Bauer in his specialist elective course Principles of Programming Languages at the University of Ljubljana:
https://ucilnica.fri.uni-lj.si/course/view.php?id=67 https://ucilnica.fri.uni-lj.si/course/view.php?id=67
Norbert Zeh in his Principles of Programming Languages lectures at Dalhousie University in Canada:
https://web.cs.dal.ca/~nzeh/Teaching/3136/index.html https://web.cs.dal.ca/~nzeh/Teaching/3136/index.html
Much of my current work is aimed towards making the teleteaching environment GUPU available in a free Prolog system:
https://www.complang.tuwien.ac.at/ulrich/gupu/ https://www.complang.tuwien.ac.at/ulrich/gupu/
This will help a lot to teach Prolog to beginners in a scalable way.
On a rather personal, and maybe controversial, note: I regard the self-taught Prolog master as prevalent as for example the self-taught piano, chess or Zen master. In my experience, learning Prolog properly requires dedicated guidance, and it would be highly unusual to achieve mastery without it.
- zephyrfalcon 8y ago> In my experience, learning Prolog properly requires dedicated guidance, and it would be highly unusual to achieve mastery without it. Where would you find such a master, though... If you are not studying at a university where Prolog is taught, you're pretty much out of luck, I think. (I am assuming that asking questions in newsgroups/IRC/etc is not a substitute for it.)
- triska 8y agoYes, I agree. I was lucky enough to study where the current convenor of the Prolog ISO working group teaches, using a Prolog- and Elisp-based teleteaching environment that he has built over several decades. As in other disciplines, if you are elsewhere, you may have to move to get close to a master. This is not so unusual, is it? Vienna is a nice city for studying logic, and does attract students from all over the world!
- tom_mellior 8y agoCool, good to see others are finding this useful. > In my experience, learning Prolog properly requires dedicated guidance, and it would be highly unusual to achieve mastery without it. There are two readings of this sentence. An unkind spirit might think you are saying that Prolog books cannot make you a master for some inherent reason related to Prolog, independent of any book. Whereas I would say that there is no inherent reason, it's just that currently existing Prolog books cannot make you a master because they are simply not very good. Or in other words, yes, guidance may be needed. But can it really not be guidance from a book?
- triska 8y agoIn my experience, a dedicated instructor, an automated teleteaching environment (GUPU), and a lot of textual notes (either as a separate book, or integrated in the teleteaching environment, or both) is the most effective combination to teach Prolog, and removing one of the three either creates frustration for students or fails to impose the necessary direction. In addition, for social and other reasons, you cannot write down in a book everything that advanced Prolog students should know. As a consequence, some things are better said than written, and I therefore think that a book alone is unlikely to be sufficient.