Earlier quoted context omitted.
My experience is very limited. I've not yet worked through all of Chapter 3 of SICP, and I've not had the opportunity to hack any real code in any lisp dialect since I implemented LispKit one weeked in 1989. However ... I think there is merit in the simplicity, clarity and purity of Scheme in helping put someone "in the right place" for grokking the real value and real power of Clojure. On the very few occasions I've…
I definitely disagree that Clojure introduces "real world nastiness" which would prevent a beginner from learning it "the clean way". Clojures data structures are very elegant and easy to grasp (e.g. you don't have to think about pointers or define equal operators, it's all there already). And you can define functions just as clean an "pure" as in Scheme. I do agree that Clojure is very comprehensive, and can be over…
Advice to newbie on learning Lisp/Clojure
11–20 of 32 posts
Re: Advice to newbie on learning Lisp/Clojure
#12Earlier quoted context omitted.
I can't work out if that was a genuine question, or a troll. But HN doesn't have many trolls, so I thought I'd answer you straight. I also thought at the same time I'd explain the downvote you got from someone. Ive upvoted you to cancel that out for now. We'll see what other people do. Try this search on Google: http://www.google.co.uk/search?q=clojure The very first hit is: http://clojure.org/ From that site, the ho…
I believe the question was honest. Someone unfamiliar with Lisp would not know it is a language with dialects. You never hear about a random language being a Java.
Re: Advice to newbie on learning Lisp/Clojure
#13Re: Advice to newbie on learning Lisp/Clojure
#14While Scheme is conceptually simpler than Clojure, Clojure remains relatively simple in its conception. Here is what makes it a little more complex:
- one needs to know a bit of Java to really use it fully. The integration with Java is so nice that it's not rare to see direct calls to Java APIs without using wrappers, for instance when there is no Clojure library to do the job.
- one needs to understand the different ways of dealing with concurrency and learn to choose the appropriate one for a given problem.
- one needs to understand how protocols work, when they are needed and when multimethods are prefered. This also implies understanding the differences between deftype, defstruct and defrecord.
That said, it remains relatively simple because you only have to deal with functions, macros and namespaces and all is rather uniform.
Here is what I would suggest to begin with Clojure:
- if you have some Lisp background just pick a book like Programming Clojure (short, nice to read and direct to the point) or Practical Clojure (also short and up to date regarding protocols)
- if you have some Java or OO background but don't find confident enough with a Lisp syntax read the first chapters of Practical Common Lisp and then one of the other books mentioned above. http://www.gigamonkeys.com/book/ This book explains really clearly the why of the Lisp syntax and also macros (better than Programming Clojure on this point but this is mostly due, I guess, to the fact that Programming Clojure is more concise).
Re: Advice to newbie on learning Lisp/Clojure
#15sorry why does lisp have anything to do with clojure?
I can't work out if that was a genuine question, or a troll. But HN doesn't have many trolls, so I thought I'd answer you straight. I also thought at the same time I'd explain the downvote you got from someone. Ive upvoted you to cancel that out for now. We'll see what other people do. Try this search on Google: http://www.google.co.uk/search?q=clojure The very first hit is: http://clojure.org/ From that site, the ho…
Re: Advice to newbie on learning Lisp/Clojure
#16The author seems to think that Clojure has some conceptional complexity to it that is easier to overcome by doing a intermediate step with Racket. But in which way is Racket or any other Lisp an intermediate step? I had no Lisp experience whatsoever before I started with Clojure, and the only real difficulties I experienced were (in descending order): a) translating my imperative-style thinking into functional style…
The sense I got is that the author believes SICP is such an excellent teaching manual that it's easier to learn Clojure-via-Scheme using SICP than it is to learn Clojure via itself using any other resource.
Re: Advice to newbie on learning Lisp/Clojure
#17sorry why does lisp have anything to do with clojure?
I can't work out if that was a genuine question, or a troll. But HN doesn't have many trolls, so I thought I'd answer you straight. I also thought at the same time I'd explain the downvote you got from someone. Ive upvoted you to cancel that out for now. We'll see what other people do. Try this search on Google: http://www.google.co.uk/search?q=clojure The very first hit is: http://clojure.org/ From that site, the ho…
Re: Advice to newbie on learning Lisp/Clojure
#18I am learning Clojure as I work through "Clojure in Action".(Thanks to Manning's promotions-- I also have the "Joy of Clojure" ebook but I haven't opened that one yet). My complaint is that there are not enough exercises in Clojure for beginners. I recall the K&R C book -- it had exercises at the end of every chapter which were very useful. Those exercises are the reason why I can still dive in C with no fear whatsoever .
I understand Clojure's relationship to LISP ; but that doesn't have to mean that Clojure can't have its own set of programming exercises and blogs for the beginners.
But posts like OP are not helpful for beginners. And they are not helpful to Clojure ecosystem as they scare away causal learners.
Re: Advice to newbie on learning Lisp/Clojure
#19Earlier quoted context omitted.
I definitely disagree that Clojure introduces "real world nastiness" which would prevent a beginner from learning it "the clean way". Clojures data structures are very elegant and easy to grasp (e.g. you don't have to think about pointers or define equal operators, it's all there already). And you can define functions just as clean an "pure" as in Scheme. I do agree that Clojure is very comprehensive, and can be over…
To me, the "real world nastiness" is the Java cruft surrounding it. You don't have to deal with it except to get a nice programming environment running. At this point the options are much more complicated and uglier than DrScheme.
But I agree, an uncomplicated und "Java-free" IDE would be a great gain for a low-threshold start with Clojure. Clojurebox is a beginning, but it in turn burdens a starter with Emacs.
Re: Advice to newbie on learning Lisp/Clojure
#20I believe that doing what I did is not necessary to get started with Clojure. It seems like the choice between top-down and bottom-up design. If you choose Clojure first, you will learn concepts that will help if you should ever approach scheme.
This thread from the Clojure Google group may be of some interest: Thinking in Clojure
https://groups.google.com/d/topic/clojure/9JufDYgE8DQ/overvi...