Functional Programming

What is object oriented programming really all about?

People often ask me what functional programming is all about and why is it useful. In an attempt to answer this question in a way that is relevant to object oriented programmers it struck me it might be useful to look at what people find useful in modern object oriented programming. Once we know what programmers like about OOP, specifically what problems it helps them solve that structured programming didn’t, we can look again at FP and look at how it approaches these problems. While we could fall back on a traditional definition of what OOP is all about,...

My Talks in London: The F# User Group & At Progressive.NET

I’ve been in London for the past few days. I arrived Tuesday afternoon and gave at talk at “The F#unctional Londoners Meetup Group” on the Tuesday evening. The talk was entitled “Using Language Oriented Programming to Execute Computations on the GPU” and thanks to the efficiency of the good folks at Skills Matter the talk is already available on line. The event was very well attended, with around 50 people turning up. The talk covers more the Language Oriented Programming aspects than the knitty gritty details for detailing with the GPU and the audience seemed to enjoy it. It was...

Strings and F# Immutable Lists

In .NET strings are immutable. I think most .NET programmers agree that this is a good thing, as it generally makes code that works with strings safer and more predictable. However, operations that involve large amounts of string manipulation perform poorly because each time a string concatenation occurs then both strings must be copied. His often leads people to believe that all immutable objects will perform poorly. The aim of the article is to show that this is not the case, or at least it’s not as black and white as you may think. Specifically we’re going to compare how.NET...

Beginning F# Workshop and Progressive.Net

I’ll in London on the 10th/11th May giving a two day course entitle “Beginning F# Workshop” in conjunction with the lovely folks at Skills Matter. I think I give a fairly good description of the course on the workshop webpage, so I wanted to use this blog post to talk about why you would want to attend. I believe, as I stated in my book, that functional programming will be the next big wave in programming, and that F# will be one of the languages at the forefront of this functional programming renaissance. I don’t believe this will be sole...

Functional Programming eXchange: The Videos

I’ve recently noticed that talks from Functional Programming eXchange, that I organized and spoke at, are now online. This is a great resource for people looking for some more advanced material on Functional Programming. So here are the videos:   SADEK DROBI: Computation Abstraction http://skillsmatter.com/podcast/cloud-grid/computation-abstraction   MATTHEW SACKMAN: Supercharged Rabbit: Resource Management at High Speed in Erlang http://skillsmatter.com/podcast/cloud-grid/supercharged-rabbit-resource-management-at-high-speed-in-erlang   ANTON SCHWAIGHOFER: F# and Units-of-measure for Technical Computing http://skillsmatter.com/podcast/cloud-grid/f-and-units-of-measure-for-technical-computing   GANESH SITTAMPALAM: Functional Programming for Quantitative Modeling at Credit Suisse http://skillsmatter.com/podcast/cloud-grid/functional-programming-for-quantitative-modelling-at-credit-suisse   DUNCAN COUTTS: Strong Types and Pure Functions http://skillsmatter.com/podcast/cloud-grid/strong-types-and-pure-functions   ROBERT PICKERING: Combinators, DSLs, HTML and F# http://skillsmatter.com/podcast/design-architecture/using-combinators-to-tackle-the-html-rendering-problem

Speaking Engagements in Paris in October/November 2009

UPDATE:The talk tonight (29 Oct) at Zenika has been postoned till November due to unforeseen circumstances. I'll let you know the exact date as soon as it is confirmed. My apologies for this. I’ll be doing a talk about functional programming in F# at Zenika, this Thursday, 29th October at 19h, as part of their community program. The talk will cover what functional programming is and how a language like F# is adapted to functional programming. I’ll also be doing a talk at Epita with Laurent Le Brun on 12th November for the students at this college.

Functional Programming eXchange - 7th December 2009

I’m very happy to announce the “Functional Programming eXchange” which will take place in London at Skills Mater head quarters on the 7th December. I’ve been involved in organizing a program which will cover F#, Erlang, Scala and Haskell. The program has been designed to interested both people actively involved in functional programming in industry and working programmers with an interest in functional programming would like to learn more about how they can use these two techniques in their day job. The program will include, me, as well as: Duncan Coutts of Well-Typed Ganesh Sittampalam of Credit Suisse Anton Schwaighofer of MSR Sadek Drobi...

Feature Speaking Engagement – F# Tutorial at the Progressive .NET Tutorials, May 11-13th, London

I will be giving a half day F# tutorial at the “Progressive .NET Tutorials” organised by Skills Matter. This will be an excellent 3 daylong event with 2 tracks featuring half day and full day Tutorials by Gojko Adzic, David Laribee, Hammet, Ian Cooper, Mike Hadlow, Scott Belware and Sebastien Lambla. My will be giving a half day tutorial on Wednesday May 13th (the last day of the event). I will be presenting 'F# Tutorial ', which will aim to give delegates the building blocks for using F# productively and to start having fun with it. For the full programme...

JAOO.dk and ALT.NET UK Summer Conference

I’m very pleased to announce that I’ve been invited to speak at the JAOO conference in Aarhus, Denmark, 28th September till 3rd October. I’ll speak on 1st October and I’ll actually be at the conference 29th September till 1st October attending sessions. The title of my presentation is “Learning F# and the Functional Point of View” and you can see the full abstract here. I’m very pleased to have been invited to speak at conference were the other speakers include Martin Fowler, Anders Hejlsberg, and Erik Meijer, and I’m really looking forward to it. Feel free to drop me a...

Immutability and Concurrency – Part I – Getting to Know Immutable Data Structures

When asking the question how does functional programming help me with concurrent programming? The standard response tends to be functional programming use immutable data structures, read-only data structures can be shared between threads without issues, end of problem. Except it isn’t. Immutable data structures have a different set of problems associated with them when working on concurrent problems. This post will examine what these problems are, and then show that this is just a special case of a more general set of problems when working with immutable data structures. Finally will start taking a look at how we solve some...

Full Functional Programming Archive