[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)