Time to Get Good At Functional Programming?
prone2tech writes "From an article at Dr. Dobb's: Chipmakers have essentially said that the job of enforcing Moore's Law is now a software problem. They will concentrate on putting more and more cores on a die, and it's up to the software industry to recraft software to take advantage of the parallel-processing capabilities of the new chips. As is argued in this article, this means becoming proficient in parallel functional programming. The bad news? Getting good at functional programming is hard, harder than moving from iterative Pascal or Basic or C coding to object-oriented development. It's an exaggeration but a useful one: When you move to FP, all your algorithms break.'"
You mean oo isn't the only option?
Modding me -1 troll doesn't make me wrong.
(have I (feeling ((become popular Scheme) again)))
Colin Dean Go a year without DRM
Hmm, strange, I thought I had logged on. You gotta love web apps. :]
Ezekiel 23:20
I can't find a job. So don't worry, your non functional programming will lend you jobs at least fro another 30-50 years.
Lisp! NO!!!!!!!!!!!!!!!!
Rolls over and dies...
(added to make filter happy)
This space is not for rent.
Pure functional programming removes all side effects. This make memory optimization (critical to efficient multiprocessing) much easier. It also makes garbage collection easier - but that is pretty much canceled by an increase in garbage.
But beyond functional programming is thermodynamic computing. This starts with functional, but requires all operations to be reversible. Ideally, the total electrons are conserved - you can never clear a bit - just exchange bits (and of course more complex operations like add, mul, etc - but all reversible and charge conserving). Of course real hardware will still need to make up for losses, but power consumption and heat go way down.
The fascinating thing is that thermodynamic programming requires a pool of known 0 bits and known 1 bits. As the algorithm progresses, you can't just throw away results you aren't interested in - you collect the unwanted results in an entropy pool. Eventually, you run out of known bits, and need to clear some entropy bits in order to continue. This takes lots more power (like erasing a flash block). The analogy to real world entropy is striking.
And funkatron's law tell us that as problems size increases you'll move into management and give the problem to someone else.
"Welcome to our world. We are the wasted youth. And we are the future too." Yes, I know these are stupid lyrics.
And Godwin's Law says that functional programming was developed by Hitler for the Nazis.
Homonyms are fun!
You're driving your car, but they're riding their bikes there.
Not in a functional language, particularly a pure one. This just ends up looking like map/fold or cata and ana morphism calls.