Someone wrote to me the other day asking me to teach him Clojure over Skype.
Well, I am sceptical of the feasibility of this scheme, but it is well known that the words "£50/hour" ring pleasantly in my ears, although in fact for this kind of one-hour every so often-type piecework it might be truer to say that the real figure is rather higher, but what the hell, this guy is a beginner interested in lisp, so I can cut him some slack....
However it occurs to me that he doesn't really need me, and as a very wise man once pointed out to me, my clients pay me for my advice, rather than for my typing.
So this is my reply:
I have removed any identifying details from it, I hope, but if the guy in question wishes to out himself here, then that is perfectly fine, and maybe he will find a study partner who lives somewhere in his area.
And if anyone reading this would like to recommend their own route in, or just flame me for being so utterly ignorant and old-fashioned, then feel free to leave long comments, at the risk that I may use them as material for further posts.
Dear .......,
I'm sorry I haven't replied for so long. I've been rushed off my feet, but I was very flattered by your offer.
Clojure's exceedingly cool, but to understand it you need to speak lisp. (Scheme is the purest and easiest lisp to understand).
I'd recommend the route I took into all that sort of thing, the excellent series of lectures given to first years at MIT, and filmed here as given to a load of HP execs by the original lecturers.
http://groups.csail.mit.edu/mac/classes/6.001/abelson-sussman-lectures/
You should get the excellent PLT Racket (which used to be called PLT Scheme),
http://racket-lang.org/
which has a superb beginners' scheme editor and environment, called DrScheme (or these days I presume DrRacket)
and set the required language to Scheme R4RS or R5RS (not modern racket, which is a similar but different language to the one used in the book).
That way you won't have to deal with the incomprehensibly weird emacs at the same time as learning lisp.
When they write anything on the board in the videos, stop the lecture and try it out in DrRacket.
There's also the excellent companion textbook:
http://mitpress.mit.edu/sicp/full-text/book/book.html
which has been used as an introductory CompSci text for many years.
I seriously recommend you to do *all* the exercises in the book. Even the ones that look boring are in fact spectacularly well chosen and interesting once you start, and each one will teach you something new.
Until you've done them all, you won't understand the material well enough to be able to go onto the next chapter.
You will of course ignore this advice. I know I would.
When you are half way through Chapter 2, and a bit bewildered and wondering if you are not clever enough, or why anyone should be interested in this weird and incomprehensible way of doing simple things, remember the advice and go back and do all the exercises in Chapter 1.
Be aware that this is a very long process. Reckon on being able to do one exercise per day, and if you're treating it as a hobby, reckon on taking a year to understand the whole book.
But it's also terrific fun, and you'll get regular rewards of small doses of enlightenment throughout.
I actually did all this. I've never been to any sort of computer training. I learned lisp from that wonderful book, those wonderful lectures, and DrScheme.
It really is the easiest way in. That's where all the smuggest lisp weenies come from, or go eventually.
And once you've learned scheme (or more accurately, once you've learned all the new ways of thinking that Abelson and Sussman demonstrate), you'll look at clojure and think:
'Oh yes, that's nice... I see...'
-----
That said, I am a complete slut, and amongst the things I am prepared to do for £50 an hour is to try to teach someone Clojure over Skype.
But I really think that you'll get on better with the video lectures.
Also, even though I am rather busy at the moment, I am not entirely without public spiritedness.
If you read the first chapter of SICP, and watch the associated lectures, and have an honest go at doing all the exercises in chapter one, then you can skype me and I'll spend a couple of hours leading you through any exercises you had difficulty with for free.
Cheers, John.
P.S. I find that I have just written a fine blog post, which I will publish. I will remove your name.
P.P.S. Hypocrite note. I never did get round to chapter 5 of SICP. I intend to one day.
P.P.P.S. In fact, you can probably get away with just reading the first three before you can understand clojure. But chapter 4 is definitely the best of the first four, so it would be a shame to stop there.
And you won't understand the why of lisp until you've read chapter 4.
Blog Archive
-
▼
2011
(26)
-
►
May
(7)
- Numerical Integration: Better Refinements?
- Numerical Integration: Better Refinements?
- Numerical Integration: Better Rules?
- Numerical Integration: Harder Functions
- Numerical Integration: Better Approximations
- Numerical Integration: What is an Integral?
- Clojure Inference (reduce, cl-format, Poisson dist...
-
►
January
(10)
- Turning Exceptions into Return Values
- Finding Something in a Vector, Parsing CSV Files
- £500 if you can find me a job (version 1.0)
- K-means : An Algorithm for Clustering Data
- Cleaning Old Definitions from the REPL : shred-use...
- take-while-unstable
- A Very Gentle Introduction to Information Theory: ...
- A Very Gentle Introduction to Information Theory: ...
- A Very Gentle Introduction to Information Theory :...
- A Very Gentle Introduction to Information Theory :...
-
►
May
(7)
-
►
2010
(44)
-
►
October
(7)
- Gis A Job! (And I'll give you £500)
- EMACS Clojure Colour Scheme
- Generating XML to make SVG vector graphics files
- Latest Collection of Filthy Hacks for REPL Conditi...
- Cambridge Clojure Meetup (Tuesday 5th October in t...
- Polyglot Maven with Clojure and Emacs : My Edge is...
- Clojure Leiningen Setup for either EMACS or REPL
-
►
September
(15)
- Clojure 1.3 : First Impression : Clojure vs Scala ...
- Clojure 1.3 alpha release : A pom.xml to try it ou...
- Macros and Type Hints: Metadata and the Medusa.
- Clojure Faster than Machine Code?
- Graphics like it's 1979: How to get clojure to act...
- An Astonishing Macro of Narayan Singhal
- Clojure Swank Server is Insecure by Default : Use ...
- Clojure is Fast
- Clojure Macro Tutorial (Part III: Syntax Quote)
- Clojure Macro Tutorial (Part II: The Compiler Stri...
-
►
October
(7)
Wednesday, February 23, 2011
Subscribe to:
Post Comments (Atom)

9 comments: