3 ms·
Disclaimer: I am currently going through SICP (I'm approximately 200 pages in). So far, I do not get the impression the I'm learning functional programming. Su
by babarock 14y ago
Disclaimer: I am currently going through SICP (I'm approximately 200 pages in).
So far, I do not get the impression the I'm learning functional programming. Sure, I learn all about map, fold and filter. Sure I've picked this up these concept and apply them almost exclusively to my "regular job" programming in Python. But I'm not learning about functional programming.
What I mean is that assignments are simply never mentioned (so far). Everything is acting as if FP is the only natural way to program (I'm a professional programmer, but keep in mind that this book is geared towards beginners with little-to-no prior exposure to programming).
Anw, my point is that SICP will have you program a lot in FP style, but won't spend time explaining what FP is, or how is it different from your 'standard' procedural paradigms. I hear that you can write in various paradigms with Scheme, I wouldn't be surprised that they'd be mention in this book.
In short, SICP is a wonderful book that will teach you how to build (well "structure") your programs, focusing on mastering complexity to manage large systems. It's not an absolute reference about FP.
- spacemanaki 14y agoKeep reading. ;) Seriously, if you're only 200 pages in, you haven't read chapter 3 yet, which delves deeply into the implications of introducing mutable state, and spends quite a lot of time exploring those implications, especially for concurrent programs. There is also some exploration into object oriented programming and alternative semantics and paradigms, including logic programming and laziness (chapter 4, iirc) In short, I definitely don't think of SICP as an absolute reference to functional programming, especially since there are newer languages and approaches to these problems (STM in Clojure and Haskell, actor based concurrency etc) but SICP is an absolutely brilliant introduction, albeit a long one.