Functional Programming with Python

Talks | Submit a talk
Authors Dhananjay Nene
Level Intermediate
Topic None of the above
Tags Functional Programming
Summary

Although it is well understood that python has support for some functional constructs, the extent to which python can be used for functional programming is not always well appreciated.

A backgrounder to some of the elements in the early stages of the talk could be found at Functional programming with Python - Part 1

The talk shall not focus on the debate between functional programming (FP) vs others (eg OO) or between various languages. Python is not a ground up functional programming language, and thus does not have all the constructs that are required by FP. However, given the usefulness of FP in many contexts, this talk will help audience better appreciate how it can still use python quite effectively in the contexts where it does seem like the right thing to do. It will also help the audience be better prepared to evaluate OO + FP programming since thats one area (being multiparadigm with support for first class functions) that python is good at.

Outline
  1. What is functional programming : 3 mins
  2. Advantages of Functional programming : 2 mins
  3. Basic python language support for functional programming (lambdas, iterators, generators, list comprehensions, map, reduce, and reference to itertools and functools) : 5 mins
  4. Data structures and Immutability : 5 mins
  5. Message passing between python processes : 5 mins
  6. Live programming session for a sample program : 20 mins
Notes
Profile of the authors

Dhananjay is passionate about programming, design, architecture and all that comes under the umbrella of software engineering. He has worked on providing solutions to a number of diverse problems including building cash management and foreign currency remittance products, applications for telecom access management, creating applications that compute electromagnetic wave signal strengths for computing wifi reach, and building frameworks and applications which process in excess of a million financial transactions per hour. He is an independent consultant, and along the way has switched across a number of roles including those of a developer, chief architect, chief technology officer and head of product development.

Dhananjay blogs at [http://blog.dhananjaynene.com/]

Files
file size uploaded comment
talk.html 96.2 KB september 23, 2010 Draft. HTML5 Presentation. Needs a reasonably modern Firefox/Chrome

You can upload or delete a file if you are author of this talk.