Time to Get Good At Functional Programming? 620
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.'"
Convince your boss. (Score:5, Funny)
You mean oo isn't the only option?
Scheme (Score:5, Funny)
(have I (feeling ((become popular Scheme) again)))
Re:Slowly getting there (Score:3, Funny)
I'm a functional programmer, but... (Score:1, Funny)
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.
Oh noes! (Score:4, Funny)
Lisp! NO!!!!!!!!!!!!!!!!
Rolls over and dies...
(added to make filter happy)
Re:Convince your boss. (Score:4, Funny)
Your idea is not feasible because it screws up too many marketing campaigns. Please revise your idea and run it through sales before submission to management.
Thermodynamic computing (Score:5, Funny)
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.
Re:Thermodynamic computing (Score:5, Funny)
It is sad this was moderated "funny" rather than "interesting"
Re:Amdahl's Law (Score:5, Funny)
Re:Amdahl's Law (Score:5, Funny)
Re:Compiling C in parallel (Score:3, Funny)
Not in a functional language, particularly a pure one. This just ends up looking like map/fold or cata and ana morphism calls.