BenAnderson.net

a window into my world.
 
 

Is it time to get good at functional programming?

by Benjamin Anderson 5. December 2008 18:42

Dr. Dobbs had an article posted this week about the need for a larger and greater understanding of functional programming in order to correctly develop and program in the emerging parallel environments of the future.  With every chip manufacture adding more and more cores to their processers in order to increase the throughput of their platform.

While I understand where the article is coming from, I don’t agree that FP is the future.  FP has a very distinct and and specific field of use in areas where processes can be cleanly defined and work in a workflow without interruptions.  The majority of applications that will need to take advantage of the multiple cores and multi-threading will have to be done through threading and standard stateless functional systems, due to the nature of the software.  Information services and data models can fit into FP models, but the processes and user interactions can’t be crammed into a singular workflow.  Things that depend on a stand dataflow will work great for FP on multi-core systems, but stand data flows cannot encompass a user.

Introducing the human into the mix severely limits the ability to solely develop in a FP model without becoming extremely inefficient.

There are several efforts to make functional languages a mixture of state-full and stateless to make them more efficient and allow for better management of exceptions, errors and the human user, but there is still a lot of work that has to be done and even more techniques and methods to be learned and used before the changes can work their way our of research and academia.

MS has been doing a lot of research in this area for F# and other functional areas, and Brian Beckman discusses some of those things on the Channel9 site in a two part interview. Part 1 Part 2

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags: , , ,

Categories: Programming | theory

Sponser

I review for BookSneeze

About the author

Benjamin is a software developer for an solutions provider in Allen, TX.  He spends his free time playing video games, programming, doing graphics design and photography, and reading.

Page List

    Books I'm Currently Reading

    Pagan Christianity?: Exploring the Roots of Our Church Practices by Frank Viola & George Barna
    Microsoft® .NET Framework Application Development Foundation by Tony Northrup
    Professional Team Foundation Server by Jean-Luc David
    Everyday Greatness by stephen covey
    Programming Pearls by Jon Bentley
    Hacker's Delight by Henry S. Warren
    Flickering Pixels: How Technology Shapes Your Faith by Shane Hipps
    Less Clutter. Less Noise.: Beyond Bulletins, Brochures and Bake Saless Your Faith by Kim Meyer
    Young Guns: The Fearless Entrepreneur's Guide to Chasing Your Dreams and Breaking Out on Your Own by Robert Tuchman
    The Snowball: Warren Buffett and the Business of Life by Alice Schroeder