Earlier quoted context omitted.
>Is there a good argument against Clojure in this case? I use Common Lisp and my main argument will be that Clojure isn't an "interactive programming" language like Common Lisp, Smalltalk (and Pharo, Squeak, Scratch) are. And, for me, this is removing one of the main, core advantages of Lisp. Dispensing with the interactive programming features is, IMO, a step backwards in the state-of-the-art. Common Lisp ADDED all…
I've been programming Clojure for a while and I've dabbled in CL, and while the CL debugger is certainly nicer, I don't see a major difference in how you develop interactively. Could you explain where do you see Clojure falling short?
Ask HN: I want to start learning Lisp. Where do I begin?
191–200 of 211 posts
Re: Ask HN: I want to start learning Lisp. Where do I begin?
#192Earlier quoted context omitted.
>Is there a good argument against Clojure in this case? I use Common Lisp and my main argument will be that Clojure isn't an "interactive programming" language like Common Lisp, Smalltalk (and Pharo, Squeak, Scratch) are. And, for me, this is removing one of the main, core advantages of Lisp. Dispensing with the interactive programming features is, IMO, a step backwards in the state-of-the-art. Common Lisp ADDED all…
What does Common Lisp have, in terms of interactive programming features, that Clojure (together with Cider and nrepl etc) lacks?
Re: Ask HN: I want to start learning Lisp. Where do I begin?
#193Racket Scheme & SICP is a fun way to start playing, especially if you are into theoretical concepts of CS and programming, like higher order programming and abstraction. The documentation for Racket is excellent, see e.g. https://docs.racket-lang.org/quick/index.html ... and many people have created online resources to adapt SICP to Racket, as well as other learning texts. I like Beautiful Racket, e.g. https://beauti…
I have to second this. Racket is absolutely the best place to start. There are great books for beginners, and the documentation is top notch. it comes with its own editor (Dr. Racket) that does some really helpful things for beginners, like hovering over a variable and seeing lines drawn to where it's being used. It's not the fastest lisp, but that's ok. It's spectacular for learning and has a huge ecosystem too. My…
There is always spacemacs: https://www.spacemacs.org/
Re: Ask HN: I want to start learning Lisp. Where do I begin?
#194Earlier quoted context omitted.
Exactly. Though, to be fair, if someone says they want to learn LISP and then you tell them to learn Emacs... well, now they have TWO problems! xD I love and use Emacs. And I also, unsurprisingly, don't like or recommend that people start off with all of these "starter packs". But at the same time, if you don't already know Emacs and you want to learn LISP, I don't know what I'd recommend.
For Clojure, VSCode with the Calva and clj-kondo extensions installed is a pretty good, free starting point. Also, if you are used to the Jetbrains tools like IntelliJ, try the Cursive IDE (paid).
Re: Ask HN: I want to start learning Lisp. Where do I begin?
#195There are obviously many possible paths, so I can only really tell you what I've done. I can't say it's necessarily the best approach. For me, I decided to start with Common Lisp. I installed SBCL, Slime for Emacs, and started working through the book Practical Common Lisp . By and large this seems to be a workable approach, but I will offer up this caveat. The PCL book is very much "project based" in that the author…
I wouldn't focus too much on "sequencing, selection, and iteration". That's only the start of it. It's how you think if you're programming Python or Java or C or whatever. With Lisp you can better think in terms of abstractions. In particular how do you do data abstraction, how do you do functional abstraction (that's the control flow: sequencing selection and iteration) and how do you do syntactic abstraction? That…
That's all great... once you already know how to use the language. But, at least relative to the way I think and learn, I really want to quickly be able to do three or four things when learning a new language: sequence, selection, iteration, and console I/O. Once I can do that, I can write essentially any arbitrary program. And then I can start adding onto my knowledge and learning the more interesting ways of doing things.
Maybe I'd have a different perspective if I'd learned Lisp first, instead of having 20+ years of programming in Algol derived languages under my belt first. But I do feel uncomfortable spending days and weeks with a language and not even learning how do use (their version of) a for loop or whatever.
Re: Ask HN: I want to start learning Lisp. Where do I begin?
#196There are obviously many possible paths, so I can only really tell you what I've done. I can't say it's necessarily the best approach. For me, I decided to start with Common Lisp. I installed SBCL, Slime for Emacs, and started working through the book Practical Common Lisp . By and large this seems to be a workable approach, but I will offer up this caveat. The PCL book is very much "project based" in that the author…
This is a bit off-topic, but something you said resonated with me. > The PCL book is very much "project based" in that the author walks you through building a couple of actual applications. This is a Good Thing™ for the most part, but it does mean that you don't necessarily get things in the order you might expect. > > There's a part of me that almost wishes I'd started with a book that takes more of an approach of "…
I definitely find value in the project based approach, but I guess I'd say that I tend to want just a little bit more "here's the fundamentals" first, before transitioning into that mode. As a generalization. But Programming Common Lisp isn't bad for this reason, it's just a hair short of what I personally might consider "the perfect Lisp book" if I could imagine up such a thing.
Re: Ask HN: I want to start learning Lisp. Where do I begin?
#197Earlier quoted context omitted.
Can I read SICP while learning Clojure? Is lisp very different?
Not sure Clojure can do all the recursion stuff (TCO), which would be good to have in a language, when working through SICP exercises. I would not recommend it for SICP. Better start with a Scheme, to have the least amount of friction.
(There's also trampoline for mutual recursion cases)
Re: Ask HN: I want to start learning Lisp. Where do I begin?
#198Earlier quoted context omitted.
Clojure is quite capable in interactive programming, through its REPL, so you must be talking about the lack of a condition system in the clojure core. But Common Lisp features like the condition system are already available in Clojure by just requiring (loading) the respective library. :) As an example, see https://github.com/clojureman/special . Nice thing about this repo is that it points to other options re. cond…
What i'm talking is about the following: - Able to easily modify (and recompile) a function while your code is running - Able to redefine a class and then change existing instances so they use the new class definition - Able to sabe the complete running state of the system (the "image" of the system, including state of all variables, data, loaded libraries, compiled functions, etc) into a file so it can be restarted…
I do this all the time with Clojure at work. I will have my application running (web app) with two repls in emacs. One is connected to the ClojureScript repl and one to the Clojure repl. I am able to make changes to both front end code and back end code on the fly by changing a function and then evaluating the function into the repl. I can start the application when I get in to work in the morning and have it going all day a while I'm doing my work.
> Able to sabe the complete running state of the system (the "image" of the system, including state of all variables, data, loaded libraries, compiled functions, etc) into a file so it can be restarted later, just like Smalltalk does.
> - Able to inspect any stack frame at will and to restart execution from any chosen stack frame
Those are really cool features, are they in the base language or are they libraries that you would need to include?
If I may ask, are you using Common Lisp professionally? If so, what kinds of applications do you use it for? I've had this notion, as many others seem to have in this thread, that you don't really do anything professional with CL but I realize it is just ignorance on my part.
Re: Ask HN: I want to start learning Lisp. Where do I begin?
#199There are obviously many possible paths, so I can only really tell you what I've done. I can't say it's necessarily the best approach. For me, I decided to start with Common Lisp. I installed SBCL, Slime for Emacs, and started working through the book Practical Common Lisp . By and large this seems to be a workable approach, but I will offer up this caveat. The PCL book is very much "project based" in that the author…
This is exactly the approach I took (~15 years ago) when I went all-in on Lisp for a few years. Don't know if it is still the best today, but it was a solid approach at the time.
Re: Ask HN: I want to start learning Lisp. Where do I begin?
#200Earlier quoted context omitted.
landoflisp.com mirrors: https://web.archive.org/web/20180113072302/http://landoflisp... https://archive.is/1WIG8
Why? The original site is still up.