[HN Gopher] Show HN: "Programming Algorithms in Lisp" Book ___________________________________________________________________ Show HN: "Programming Algorithms in Lisp" Book Author : vseloved Score : 156 points Date : 2021-02-08 16:09 UTC (6 hours ago) (HTM) web link (www.apress.com) (TXT) w3m dump (www.apress.com) | peebz wrote: | How much does this differ from the version I bought on Leanpub? | vseloved wrote: | Not much. I have summarized all the updates here: http://lisp- | univ-etc.blogspot.com/2021/02/programming-algori... | peebz wrote: | Great - thanks! | tasubotadas wrote: | Thanks! Looks interesting - just bought it :) | u678u wrote: | Anyone tried leetcode with lisp? I'm not sure if its a good way | to learn or an exercise in banging your head against the wall. | Jtsummers wrote: | I've toyed around with some similar sites in the past. | Challenges like that that sit closer to purer algorithm tasks | are not at all hard in Common Lisp. | ludston wrote: | I really enjoy solving project euler puzzles with CL. It's very | well suited to them. | yters wrote: | Is the big underlying motive for LISP its connection with | symbolic AI? | Jtsummers wrote: | First, I still find it _very_ jarring to see "LISP" written | that way when referring to Common Lisp, and most other | languages in the Lisp family, as "Lisp" has been the common way | of writing it for a very long time. That styling, now, is | mostly found in older texts on the subject _or_ when talking | about LISP and LISP 1.5 and a few other specific | implementations. | | Second, Common Lisp is a general purpose, multiparadigm | language. There's a lot to like about it. If you want to | implement conventional procedural algorithms, the language is | well-suited to writing in that style. If you want to adopt a | more functional and recursive (versus iterative) style, it is | similarly well-suited (though somewhat implementation dependent | as CL, unlike Scheme, does not mandate tail call elimination, | which can bite you in performance). If you want to write in an | OO-style, it has a way to do that (though it is different than | the OO-styles many people are familiar with so takes some time | to learn). And if you like writing DSLs (but don't want to | implement a full parser or an interpreter but would rather have | something compiled for better performance), it's very well- | suited for it. | | Third, while it was commonly used for symbolic AI, it is not | restricted to that domain. But, if that's what you want to use | it for, you should look into the book _Paradigms of AI | Programming_ by Norvig (now available for free online) which is | pretty much just about implementing now classic symbolic AI | programs in CL. | mepian wrote: | Not anymore, today Common Lisp is generally a very nice | language that balances dynamicity and performance quite well, | and especially shines in interactive (or REPL-driven) | development: | https://mikelevins.github.io/posts/2020-12-18-repl-driven/ | User23 wrote: | Also popular implementations do some cool things. The | compiler section in the SBCL manual[1] has good details. | SBCL's type inference is powerful and you can also convince | yourself it's actually working by looking at the output of | DISASSEMBLE. | | [1] http://www.sbcl.org/manual/index.html | wry_discontent wrote: | Clojure is my only serious exposure to lisp, and I get | jealous when hearing about features like a `breakloop` in | Common Lisp. | codr7 wrote: | Why not give it a spin? | | There is plenty more to discover in Common Lisp, Clojure | has some nice tricks but it's a faint echo as far as raw | power goes. | | http://www.sbcl.org | vseloved wrote: | there's an interesting recent video on the differences | between Cl and Clojure here: | https://www.youtube.com/watch?v=44Q9ew9JH_U | mindcrime wrote: | Perfect timing... I just renewed my APress Access subscription | like 3 days ago. Will definitely give this a look. | vseloved wrote: | Hi, I'm the author. | | For those who haven't heard about the book yet: it is a practical | description of the main data structures and algorithms in use | today. The book is also featuring a presentation of the most | important algorithm development techniques, as well a examples of | the real-world use cases in each chapter. It uses Common Lisp as | an implementation language, and also contains a crash course into | the language if you are not yet familiar with it. | | For those who have already seen or even read the previous version | published on Leanpub, here is a summary of the updates: | http://lisp-univ-etc.blogspot.com/2021/02/programming-algori... | | As usual, AMA. | humbleharbinger wrote: | As a second year cs student currently taking an algorithms | course with no experience with LISP, would this book be useful | for me? | vseloved wrote: | In the preface, I discuss a bit the topic of how algorithms | are taught in the universities versus how they are actually | used. I made a choice to lean heavily towards the "practical" | approach. So, from the perspective of a student, this | shouldn't be your principal manual, the theory isn't | presented in the best possible way, to say the least. (As a | manual I'd recommend Skiena, or you can use Cormen etc.) But | if you read the book as supplementary material it can give | you a different perspective on those theoretical concepts | and, hopefully, you'll get more value from studying them as | you'll see where it all leads and how you might be using the | obtained knowledge in your further work. As for Lisp, I don't | think that picking it for any smart student should be a | problem. | 2pEXgD0fZ5cF wrote: | I bought myself a copy of your book recently. I have not worked | through it back to back, but I enjoyed taking a look at known | things through the lens of CL. | | However I have to admit that the reliance on additional | external libraries kind of had me a bit disappointed, but I can | understand the reasoning and advantages behind such a decision. | vseloved wrote: | thanks for the feedback! | NAR8789 wrote: | What are this book's selling points as compared to SICP? On the | surface, both are teaching computer science fundamentals in a | lispy setting. | vseloved wrote: | You're quite right that SICP is about the fundamentals. | Progalgs is about writing efficient programs. It's for those | who already understand the fundamentals. | jimbokun wrote: | Is the goal of this book to teach algorithms to Lisp | programmers, or to teach algorithms using Lisp as its a good | pedagogical language, or something else? | vseloved wrote: | More of the second: i.e. teach algorithms using Lisp. The | secondary goal is to get people more accustomed with Lisp. ___________________________________________________________________ (page generated 2021-02-08 23:00 UTC)