Slashdot Mirror


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.'"

11 of 620 comments (clear)

  1. Convince your boss. by narcberry · · Score: 5, Funny

    You mean oo isn't the only option?

    --
    Modding me -1 troll doesn't make me wrong.
    1. Re:Convince your boss. by danwesnor · · Score: 3, Funny

      But I'd much rather see them speed the cores up than endlessly multiply the number of them.

      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.

  2. Scheme by Rinisari · · Score: 4, Funny

    (have I (feeling ((become popular Scheme) again)))

  3. Re:Slowly getting there by K.+S.+Kyosuke · · Score: 2, Funny

    Hmm, strange, I thought I had logged on. You gotta love web apps. :]

    --
    Ezekiel 23:20
  4. I'm a functional programmer, but... by Anonymous Coward · · 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.

  5. Oh noes! by TypoNAM · · Score: 3, Funny

    Lisp! NO!!!!!!!!!!!!!!!!

    Rolls over and dies...

    (added to make filter happy)

    --
    This space is not for rent.
  6. Thermodynamic computing by CustomDesigned · · 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.

    1. Re:Thermodynamic computing by Gorobei · · Score: 4, Funny

      It is sad this was moderated "funny" rather than "interesting"

  7. Re:Amdahl's Law by funkatron · · Score: 5, Funny

    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.
  8. Re:Amdahl's Law by Samah · · Score: 5, Funny

    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.
  9. Re:Compiling C in parallel by jbolden · · Score: 2, Funny

    Not in a functional language, particularly a pure one. This just ends up looking like map/fold or cata and ana morphism calls.