On 06/07/2013 11:14 PM, Ken Seefried wrote:
It's not completely a joke. I live in that world
these days.
We've definitely found that folks whose foundation is in procedural
languages (or assembly, and I count myself solidly in that crowd) have much
more difficulty wrapping our brains around FP paradigms. Not all of
them...some folks are just naturals and pick it right up, but it involves
letting go of a lot of habits. The insult when I was coming up was "nice,
you can write Fortran in C (or Pascal)". Now it's "nice, you can write C
in Scheme/Python/Ruby" (and, no, I'm not interested in going down the
rabbithole of whether you think Python and Ruby are FP "enough").
However, for folks coming to it fresh(er), and in particular from other
disciplines (mathematics, biology, social sciences, etc.) they don't seem
to have nearly as hard a time dealing with the abstractions FP brings to
problem solving. For these folks, the higher level abstractions map more
closely to how they're looking to solve problems, and they're getting
remarkable, world impacting results (See: bioinformatics and python).
Things I perhaps could, but would not want, to try and solve in C. But I
wouldn't want them to write an OS.
So....not just right tool for right job, but right mind/approach/adaption
for right job.
What do you see as the biggest obstacles for adopting the FP
abstractions in "everyday programming thought"? I assume unlearning
previously-learned ways of approaching problems? (iterators vs.
recursion, etc)?
-Dave
--
Dave McGuire, AK4HZ
New Kensington, PA