Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

Coming from a procedural/OO programming background, I tend to write Scheme programs in a procedural fashion. I would be intersted in learning Scheme or Lisp in a functional way from the ground up, to kind of reset my programmer's mind.

Is there a tutorial or book out there that's the de-facto standard for describing best practices, design methodologies, and other helpful information on functional programming concepts? What about that book makes it special?

share|improve this question
    
I'd start with ccs.neu.edu/home/matthias/BTLS Functional programming is more like pure math than OO programming. If you think of it that way it may help. –  Brian Makin Sep 8 '10 at 22:34
    
If you prefer listening to reading, SICP also has video lectures. I am at lecture 6b now. :) –  Dysaster Oct 4 '10 at 9:58
    
Check out Land of Lisp and do all the exercises. –  Sardathrion Oct 12 '11 at 15:30
add comment

3 Answers

up vote 10 down vote accepted

Use it.

If you do functional programming daily, maybe smaller applications or excercices from books, then you will be better on it.

I have used it since the first programming lecture in university. At the biginning it was very hard, because it is so different, but now I prefer it to imperative programming.

If you are looking for a good book, I would recommend Real World Functional Programming: With Examples in F# and C# by Tomas Petricek and Jon Skeet

share|improve this answer
1  
The book can be checked here also- msdn.microsoft.com/en-us/library/hh314518.aspx –  Gulshan Oct 12 '11 at 16:11
add comment

Try to learn some math and get adapted to it's style. What are functions? What is a variable? How do variables different from constants and how do they not?

share|improve this answer
    
That does not really answer the question which is more about where to find answers to the questions you are providing. –  Matthieu Dec 16 '11 at 1:45
add comment

The book I always see recommended when talking about Scheme or Lisp is The Structure and Interpretation of Computer Programs. It's freely available on that website, and I think it's provided as a PDF if you search around.

I've been meaning to work through it, but I'm not sure when I'll get the time. I can't comment on how good the book actually is, though. But it's been recommended by multiple people, so I'm guessing its pretty good.

If you are interested in other functional programming languages, I've been told that it's rather easy to do the exercises in languages like Haskell or F#. I think there's also a blogger who is working through SICP using Haskell and posting his solutions to the exercises, but I can't find the link right now.

share|improve this answer
    
Who is Bill the Lizard billthelizard.com for 500 please. Although I think he's using scheme. –  Brian R. Bondy Sep 7 '10 at 14:58
    
Yes, I'd agree with SICP being an excellent book to learn FP in Scheme. If you aren't married to Scheme, but would consider learning Haskell then Real World Haskell is an excellent read too. –  Magnus Oct 4 '10 at 9:35
    
+1 for SICP. I've been working through parts of it with Clojure, as long as you're willing to do a bit of mental gymnastics I think it would work for any Lisp-like or functional language. –  mikera Feb 24 '11 at 14:16
1  
There's also How to Design Programs, which was specifically designed to address some shortcomings in SICP, which are outlined in the very approachable and cleverly titled paper The Structure and Interpretation of the Computer Science Curriculum. –  Jörg W Mittag Sep 11 '11 at 4:27
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.