Arthur Kho wrote:
> Hello,
> 
> I started looking at Scheme a few weeks ago. I also started to read  
> through MIT Press's SICP book to go with my studying scheme and have  
> watched a few SICP lecture videos from MIT's opencourseware.I have  
> programmed in C/C++, mainframe assembler and some java in the past.  
> Can anyone share some efficient learning tips for functional  
> programming? I am enjoying learning new concepts but feel frustrated  
> at how slow the learning process is.

Hi Art

I feel your pain :) I also come from an imperative background and have 
been learning Haskell for the last year-and-a-bit, and I'm still 
learning. It feels like my brain is trying to rotate through ninety 
degrees, and with 20+ years of programming experience that's a feeling I 
haven't had for a long time.

What I've found so far:

- expect to spend 90% of your time thinking and only 10% coding, rather 
than the other way round.
- you can find a halfway house (in languages with appropriate syntax) by 
writing SSA-style pseudo-imperative code and adding functional pieces to 
that as you become more confident
- read through other people's code
- don't try and master everything at once
- after a while it starts to work its magic on your brain and going back 
to C++ starts to feel distasteful

I think that the learning process feels so slow because this isn't just 
a syntax change (as going from say C to Java) would be, it's a lot 
deeper than that. Stick with it, it does seem to be worth it.

- Derek Gladding

> 
> Thanks,
> 
> Art
> 
> > 
> 

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to "Bay Area Functional 
Programmers"  
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at http://groups.google.com/group/bayfp?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to