Category Archives: Lisp

Tagore Smith on functional programming

My travails with functional programming have been a bit of a recurring theme on this blog, and I have to admit that my attempt to learn Scheme has stalled, more than anything due to all the other things I’ve been doing.  I’m sufficiently aware of it to feel guilty, but not sufficiently to actually invest the time I ought to into actually learning it.

But today, Togore Smith wrote a brilliantly insightful comment on one of my oldest posts (Closures, finally explained!), and it’s got me thinking about this subject all over again.

Continue reading

The long-overdue serious attempt at Lisp, part 2: is Lisp just too hard?

First, thanks to all of you who advised me on what Lisp to learn.  I found it really helpful to get so many different perspectives, and I hope those of you who advocated Common Lisp or Clojure will not be offended that in the end I chose Scheme.  (Actually, I bet you won’t be: one of the pleasant aspects of the comments on that article was the consistent sense that all the comments were of the form “I prefer this Lisp, but if you learn any of them that’ll be great.”)

A few people suggested that I should learn all the different Lisps rather than just picking one.  As a looong-term project, I guess I agree with that; but here and now, I need to pick one and run with it: and Scheme it is, for its minimality, elegance and purity.  I figured that if I learn Scheme it’ll be easier to move from that to Common Lisp later rather than vice versa.  (I was tempted by Clojure, too, not least because there is only one of it, but it feels just a bit too new-fangled to be a good starting point.)

So two days ago I started working my way through R. Kent Dybvig’s highly regarded book The Scheme Programming Language [amazon.com, amazon.co.uk].

Continue reading

The long-overdue serious attempt at Lisp, part 1: which Lisp?

This is a blog about being a reinvigorated programmer.  So it’s ironic that the most successful articles so far (at least in terms of number of hits) have been about The Good Old Days — Whatever happened to programming? and Programming the Commodore 64 being two examples.

One possible response to this would be to change the blog title to The Nostalgic Programmer, but I’m not going to do that — despite what you might think from what I’ve been writing, I am actually looking forwards more than backwards, and there are plenty of things I am excited about right now, including Ruby, refactoring, REST, Rails and even some things that don’t begin with R.  Lisp, for example (although I guess I could have squeezed that into the R-list by substituting “recursion-based languages” or somesuch).

Continue reading