You are on page 1of 25

Impediments to Wide-Spread Adoption

of Functional Languages
CUFP 2007
Noel Welsh
Untyped Ltd
noel at untyped dot com

1

The Plan

• The commercial failure of functional languages
• Risk versus return: the essential barrier to adoption
• The pipeline model of language adoption
• Nuturing the stages of the pipeline

2

. 3 . a little game.First..

The Commercial Failure of Functional Languages 4 .

Do We Care? Industry benefits from academia Academia benefits from industry 5 .

The Essential Barrier to Adoption Risk versus Return It is that simple 6 .

A New Hope? Hold conferences at snow-boarding locations? 7 .

and experts to get proficient 8 . A New Hope? OR Make it easier for small businesses. startups.

Pipeline Model of Language Acquisition 9 .

Acquiring Novices People Program To Solve Problems 10 .

It offers strong support for integration with other languages and tools." 11 . and can be learned in a few days. Python vs Haskell "Python is a dynamic object-oriented programming language that can be used for many kinds of software development. comes with extensive standard libraries.

Python vs Haskell "Python is a dynamic object-oriented programming language that can be used for many kinds of software development. type classes. polymorphism." 12 . and can be learned in a few days. It offers strong support for integration with other languages and tools." "Haskell is a general purpose. purely functional programming language featuring static typing. and monadic effects. higher order functions. Haskell compilers are freely available for almost any computer. comes with extensive standard libraries.

but probably good enough 13 . Developing Novices • Generally lots of material (undergraduate texts) • Possibly not great for working programmers.

) 14 . Self-Development for Gurus • Well accommodated (ICFP etc...

Nuturing Your Hackers • The gaping hole left by academia • Few texts • Few libraries • Few venues 15 .

So What Ya Gonna Do? • The non-profit for fun and profit • Tried and tested model 16 .

Make documentation easy. Texts • Encourage a culture of documentation.. • Provide central repository of links • Things will grow incrementally.. 17 .

plt-scheme.org/ • Things will grow incrementally. Libraries • Central repository • Look at PLaneT http://planet.. 18 ..

Better is Worse Conferences • Academic conferences intimidating • Originality too high a barrier 19 .

O'Reilly events 20 . plus tracks at. Ruby Conferences. for example. 2007 • RubyConf • EuRuKo • MountainWest RubyConf • Michigan Ruby Conference • Ruby Hoedown • Gotham Ruby Conference • Silicon Valley Ruby Conference • Plus Rails conferences (at least 3).

learning sessions • Consider small grants for conferences 21 . 'how to contribute'. Worse is Better Conferences • Lower standard • Include practicals.

User Groups: The Mini-Mini Conference • User groups are just ongoing conferences 22 .

A Simple Plan for Happiness • Setting up a non-profit is easy • Implementing my suggestions is easy • Getting community contributions is easy 23 .

It Ends on a Major Chord Industry benefits from academia Academia benefits from industry 24 .

org/licenses/by/2.en-us Photo of snowboarder by Flickr user planetxau http://www.flickr.org/licenses/by-sa/2.0 Generic http://creativecommons.0/deed.0 Generic http://creativecommons. Credits Photo of Beggar by Flickr user nicolaitan http://www.flickr.org/licenses/by-sa/2.en-us Photo of sunset by Flickr user jswieringa http://www.com/photos/jswieringa/433756050/ License: Creative Commons Attribution 2.0 Generic http://creativecommons.com/photos/nicolaitan/61444999/ License: Creative Commons Attribution-Share Alike 2.com/photos/planetxau/766888889/in/set-72157600774643190/ License: Creative Commons Attribution-Share Alike 2.flickr.0/deed.en-us 25 .0/deed.