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

4 of 620 comments (clear)

  1. Re:it's always a good time to try functional by TheRaven64 · · Score: 5, Informative

    Python for example seems good for fp

    Last time I heard this, I checked, and the python developers were refusing to commit tail-recursion optimisation patches because it 'made debugging too hard'. Since most functional algorithms are tail-recursive, you will blow your stack very quickly without this. It's even in GCC, meaning that C is better suited to functional programming than Python.

    --
    I am TheRaven on Soylent News
  2. Re:Broken Algorithm BS by reginaldo · · Score: 5, Informative

    Moore's Law becomes a software issue when we need to change our coding paradigm to use all of the cores on the chip. The hardware holds up it's end of the deal, but we need to develop software that utilizes the hardware correctly.

    That's where FP comes into play, as it allows developer's to develop heavily parallelized code that is also safe and fault-tolerant.

  3. Re:Amdahl's Law by Tenek · · Score: 5, Informative

    And Gustafson's Law tells us that as the problem size increases the non-parallelizable portion of the program will shrink.

  4. Re:Broken Algorithm BS by Anonymous Coward · · Score: 5, Informative

    It's true that Moore actually said the transistor count doubles every 18 months. However, for a long time, an immediate corollary of Moore's Law was that software doubled in speed every 18 months, which is essentially why Moore's Law as important. I think what they author is trying to say is that in order for this corollary to remain true, people must learn to write parallel software. It is much easier for a compiler to get an FP running in parallel than a sequential program (SP) running in parallel. Hence, those who can write in FP languages will be better suited to write the software of tomorrow than whose who can only write in SP languages.