Site Archive (Complete)
DrDobbs Portal Blog: Functional Languages: Into the Real World
EDITOR'S EYE

The World of Software Development.

by Jon Erickson
November 12, 2007

Functional Languages: Into the Real World

A knock against functional programming languages typically involves their inoperability with nonfunctional languages, which lead to impedance mismatches between data and objects. Hence, their slow adoption in the mainstream of software development. But considering the growing complexity of today's software systems and the fact that modularity--like that of functional languages--is the key to successful programming, functional languages have a lot to offer when tackling multi-core and parallel computing.

Which is probably one reason why Microsoft has decided to move its F# functional programming language from the research labs into the real world. Specifically, F# will be a first-class citizen on .NET, integrate into Visual Studio, and run on the Common Language Runtime (CLR). Which means, in other words, that it will interoperate with other languages.

Of course, playing around with functional languages isn't new to Microsoft. Functional language features such as lambda expressions are in C#, and generics are in .NET 2.0. And LINQ, a set of .NET extensions for language-integrated queries, is directly based on functional programming techniques, at least according to Anders Hejlsberg, chief architect of C#, in this video entitled Anders Hejlsberg on LINQ and Functional Programming.

Functional languages like F#, which has its roots in ML, have other benefits, including type safety, performance, and interactive scripting on modern runtimes. And again, it is ideal for taking on complex problems, like those in the financial, scientific, and technical computing arenas.

For a better explanation of why functional programming is important, take a look at Why Functional Programming Matters, by John Hughes.

-- Jonathan Erickson
jerickson@ddj.com

Posted by Jon Erickson at 10:42 AM  Permalink





January 2008
Sun Mon Tue Wed Thu Fri Sat
    1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31    


BLOGROLL
 
INFO-LINK


Related Sites: DotNetJunkies, SD Expo, SqlJunkies