Posted By: Charles | Mar 24th @ 8:50 AM | 46,738 Views | 22 Comments
Matthew Podwysocki is a senior consultant for Microsoft platform technologies in the D.C. area. He's been programming since he was a child and has a particular interest and passion for functional programming. Functional programming is all the rage these days. General purpose imperative languages (like C# and C++) are adding functional constructs to help improve software developer prodcutivity in an increasingly concurrent general purpose computing environment as notebooks and PCs with multiple processors are now the norm.

Matthew was in Redmond a few weeks ago, so we thought it would be awesome to invite Matthew into the the lair of our resident functional programming extremist (though I must say that Erik is mellowing out with age), high priest of the lamda calculus, category theorist and Expert to Expert host, Erik Meijer. Now, it's a little scary to be asked into Erik's den of functional orthodoxy (aka Erik's office) and be put to the task of explaining functional principals in a way that is widely accessible to developers who have little or no experience with thinking functional, but Matthew was up for the task and spends most of the time at Erik's whiteboard explaining important functional programming concepts (Haskell and F# are the languages used in the examples, but the language isn't that important - the concepts are), sharing some his very interesting history with us, waxing on future directions in programming, engaging us in a really interesting conversation. Great job, Matthew!

Enjoy!

Duration: 1:07:41
Rating:
4
0
Thank you Erik Meijer and Matthew Podwysocki!  =).  I just began looking into F# (and even more recently, haskell) and felt like I wasn't understanding monads.  While Brian Beckman's "Don't fear the Monads" gave me a great introduction to understand monads, your example completed the understanding for me.

The best part of the video, in my opinion, was how you revealed that C++ is like a giant state machine.  I never thought of this, and this idea you presented made monads finally "click."  As C++ is basically one giant state, in which it is assumed that each operation produces side effects, finally got it to fit in.  My problem was that since I came from a mostly imperative background, I really didn't understand what pure really meant.  If you were to ignore the current technological limitations such as division by zero, explaining what the tail of an empty list would be, etc, then there would never be a single issue arising from any operation in a pure haskell function!

Thanks again for the info, and especially for the maybe monad and C++ ideas.  You guys explained it perfectly  =D
It's always very interesting to see a video with Erik Meijer. Such a lively talking man! Smiley

I am into moving into functional programming (Haskell, F#) for the last few months. I have read Expert F#, Real World Haskell etc.

I am liking the ideas and styles and started coding some fun stuff with great things there in F#.

I was disappointed by the quality (succinctness and clarity) of this video compared to other numerous videos which I have seen from c9 or msdn. (Maybee worst of all which I have seen) Sorry, Matthew and Eric, but I missed the flow and stopped watching the video in the middle.

I am sorry if I am rude but I got one point from this lecture that intellisence is some kind of bad thing. The examples could have been given either in pseudo code (without any reference to syntax) or with correct syntax of either F# or Haskell.

does anyone know where i can find "Introduction to functional programming" book? amazon.com don't have.

Is this the correct ISBN #? 0134841891

 

cheers,

amir

Microsoft Communities