Advice to newbie on learning Lisp/Clojure
learningclojure.com
Advice to newbie on learning Lisp/Clojure
1–10 of 32 posts
Re: Advice to newbie on learning Lisp/Clojure
#2Re: Advice to newbie on learning Lisp/Clojure
#3I 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 - this would happen to me in Racket as well.
b) macros - but you don't need to grasp macros as a beginner, that's a topic by itself anymay.
(and NO, the bracket syntax was no problem at all)
YMMV if you have an other background. It is true: The more programming languages you already know, the easier it will be to learn a new one (iff it doesn't conceptionally diverge too much). But if you don't have that background, why not learn the desired language right away?
Re: Advice to newbie on learning Lisp/Clojure
#4sorry why does lisp have anything to do with clojure?
Re: Advice to newbie on learning Lisp/Clojure
#5sorry why does lisp have anything to do with clojure?
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 home site of Clojure, we get:
Clojure is a dynamic programming language that targets
the Java Virtual Machine (and the CLR ).
...
Clojure is a dialect of Lisp, ...
See that? In one search and one click - there's the answer to your question. And the reason you got downvoted was because your question/comment added nothing of value, and it showed that you didn't do any homework.So I hope that's been useful and constructive.
Re: Advice to newbie on learning Lisp/Clojure
#6The 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…
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 written in Clojure I've known I've not been really "getting it" and that there's more, but I've felt (pause) overwhelmed is one word ... by the completeness of Clojure. It's a proper language for proper work.
I think I've gained a lot from going back to Scheme's purity and elegance.
It's a bit like "lies to children." We know that Newtonian mechanics is wrong, but we still teach that first because it's easier to grasp, easier to do the sums, and more directly in line with our own experience. But if taught properly (and that's another story altogether) it lays the foundation for being able to do the sums and do the work "properly" in Relativity.
I think Scheme can help to create the functional mindset in an elegant way, before having to worry about real world nastiness.
YMWV, because everyone is different and comes with different skills, deficiencies and baggage.
Re: Advice to newbie on learning Lisp/Clojure
#7The 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…
Re: Advice to newbie on learning Lisp/Clojure
#8The 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…
He's recommending to read/watch SICP and do the examples, which are in Scheme. I think it's good advice to have a Scheme REPL to follow along so that you don't have to worry about the additional overhead of translating to Clojure.
At some point though, as Scheme and Clojure diverge, this method would start to become less useful. But at that point, I would argue, you already know enough to take off in Clojure.
Re: Advice to newbie on learning Lisp/Clojure
#9sorry 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
#10The 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…
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 do agree that Clojure is very comprehensive, and can be overwhelming for a beginner. But you could buy a book, which will use only a subset of Clojure at the beginning. And when you get to the point where you can use the basic data structures and map, filter, reduce them, this will get you very far.