Justin du Coeur (jducoeur) wrote,
Justin du Coeur

Introduction to F#

Continuing to lose far too much time today to watching useful presentations from the Microsoft PDC, here's another terribly interesting one.

Last night, I was talking with eclecticmagpie about the trend towards functional / declarative languages, so this Introduction to F# is quite timely. F# is Microsoft's entry into this field, and is steaming towards true productization: they say that it'll be coming out in a fully-supported commercial release next year.

It's a damned cool presentation, useful for anyone who wants to keep up on where programming is going. If you're new to the idea of declarative programming, this is a decent one-hour primer on how it works and how it's different from imperative; if you already understand the concepts, it shows how Microsoft is addressing it. It's worth watching the full hour, because he gets into parallel and asynchronous programming later on. It appears that F# isn't going quite as deep into parallelism as Fortress (at least, not yet), in that serial is still the default; that said, it looks like they are making parallel patterns really, really easy to write. Indeed, there are several points where writing a parallel version looks exactly as easy as writing serial, so I suspect I'd just do it that way from the beginning.

I call this one out as a good investment in the future for any serious programmer. My strong belief is that declarative programming is going to gradually become much more prominent in the next five years or so, because it's much more amenable to parallelism. (As well as simply being an efficient way to code up many problems.) Turning F# into a real product is Microsoft's stake in this particular ground, and is going to accelerate that trend, by making it downright easy to write declarative bits that interoperate cleanly with the rest of .NET. So it's well worthwhile to see this train coming before it rolls over you...
Tags: programming
  • Post a new comment


    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

    Your IP address will be recorded