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 -~----------~----~----~----~------~----~------~--~---
