Functional Programming

Functional Programming

Functional Programming

Mar 9, 2012

It's time for Functional Programming

It's time for Functional Programming

It's time for Functional Programming

by Aaron Contorer - CEO

In 1999 I went to Bill Gates with an idea to create a software

tools group dedicated to shipping complex software faster.

Engineers’ time is valuable, and more importantly, software that

ships on time with fewer defects is worth a lot. I organized a team

that analyzed what was missing from the old toolsets for our most

valuable products. Based on developers’ input, we conceived and

delivered five in-house tools within our first year, spanning areas

from build to source control to localization. I'm proud of the

talented and motivated people who chose to be on that team, and the

positive impact it had: If you have a copy of Windows or Office

today, it probably arrived on your desk a little sooner and a

little better thanks to the Productivity Tools Team. From a

business point of view, Microsoft got its tools investment back

many times over.


Since then a lot has changed, but one thing has not: software is

still hard to write. Too often software projects miss schedules and

products are shipped with bugs. Meanwhile the wizards of electrical

engineering have made massive progress in areas like multicores,

vector processors, GPGPUs, hybrid processors, and other ostensibly

"unconventional" architectures. Techniques once reserved for exotic

supercomputers are now found in everything from Web servers to

network routers to phones. As systems become more parallel and

hybridized, requiring complex new logic in our code, and market

forces demand we make enhancements more rapidly, software just gets

harder and harder to write, debug, and test.


In the face of all these challenges, the one exciting

development is the maturing of Functional Programming; in

particular what we consider to be the most robust FP system,

Haskell. Developers who use Haskell often report 2x  or higher

productivity improvements, even as their bug count is significantly

reduced. Add in Haskell's great support for parallel processing,

domain-specific languages, and numerous other truly modern language

features, and you get the new best solution for a wide variety of

applications. This outstanding FP system didn't happen by accident,

it is the result of 20 years of hard work and selfless

collaboration involving people from institutions all over the

world. The Haskell community is a remarkable accomplishment in

itself.


We created FP Complete to realize the dream of Functional

Programming: unprecedented software power, accuracy, and

flexibility available to a broad number of programmers. We want to

double the productivity of the world's outstanding software

developers, while slashing the number of bugs and unleashing the

dramatic computing power of modern hardware designs.


FP Complete will be a good citizen in the Haskell community.

We'll be helping to complete and maintain the tool sets, the

libraries, the platform and integration support, as well as the

human and business infrastructure needed to enable Haskell

adoption. We'll be bringing together current and potential users,

supplier firms, and our own experts. A major new platform isn't a

one-company show. We look forward to working with you.