2 ms·
I am learning Prolog because I think I have an idea that I believe might actually be easily solved by Prolog instead of hacking it in some other language. I per
by bmitc 6y ago
I am learning Prolog because I think I have an idea that I believe might actually be easily solved by Prolog instead of hacking it in some other language. I personally believe in learning paradigms of programming as far more important than languages. Prolog presents the very unique logic programming paradigm. Learning new paradigms always feels a bit mind-bending to me.
Edit: Actually, my last statement may be only in hindsight given that any experienced programmer will know or know of languages like C and Python that aren't mindbending, so one's viewpoint gets slowly skewed. I think that's why sometimes beginners find things like Prolog or other "strange" languages interesting or even easy, and that's because they present a paradigm that is more like like how humans think about certain tasks. Whether it's Prolog and logic, Elixir/Erlang and messaging, F#/Ocaml/SML with pattern matching, etc., these paradigms are actually quite natural to humans who haven't been tainted with paradigms like that of C, which takes on the paradigm of "let's think like a machine".
- KMag 6y agoIf you're interested in learning many paradigms, the Oz[0] language, Mozart system, and accompanying textbook[1] were designed as a teaching tool to teach most of the major paradigms in a single language. I have not sat down with them, but they have been on a far back burner for years. [0] https://en.wikipedia.org/wiki/Oz_%28programming_language%29 https://en.wikipedia.org/wiki/Oz_%28programming_language%29 [1] https://en.wikipedia.org/wiki/Concepts,_Techniques,_and_Models_of_Computer_Programming https://en.wikipedia.org/wiki/Concepts,_Techniques,_and_Mode...
- bmitc 6y agoDefinitely! It's been on my backburner for years as well. I have the book and started to take the edX course a couple of years ago, but got sidetracked with work. I e-mailed Peter Van Roy back in May, asking if the edX course would be resumed. He stated that the local university course got removed from the engineering curriculum, so that's why the edX course isn't running anymore. Hopefully it comes back. He mentioned that he had recorded some lectures on his YouTube channel. https://www.edx.org/course/paradigms-of-computer-programming-fundamentals https://www.edx.org/course/paradigms-of-computer-programming... https://www.edx.org/course/paradigms-of-computer-programming-abstraction-and https://www.edx.org/course/paradigms-of-computer-programming... https://www.youtube.com/user/PeterVanRoy https://www.youtube.com/user/PeterVanRoy
- blisse 6y agoSuper glad to see this! Programming Paradigms for Dummies (https://info.ucl.ac.be/~pvr/VanRoyChapter.pdf https://info.ucl.ac.be/~pvr/VanRoyChapter.pdf) is something I try to get everyone I know who's interested to read and really think hard about. The textbook is the only real textbook I've bought after university because it's so... foundational. I like to refer to programming paradigms as the building blocks of design patterns -- how do you derive design patterns and best practices? By trying to bring programming paradigms into your design! Our practice of immutability can be viewed as a means to make data flow more deterministically.
- 7thaccount 6y agoI see it's missing array programming (APL, J, K... etc) and concatenative (Forth, Factor, 8th) programming.