Track: Real World Functional

Location:

Day of week:

In this track we'll try to check up on the claims of the functional programming community: how and where are functional languages and concepts used in the real world? How do these concepts add value? What concepts carry their own weight and which ones don't? There may be Monads...

Track Host:
Werner Schuster
InfoQ Editor Functional Programming, QCon PC, Wolfram
Werner Schuster (@murphee) sometimes writes software, sometimes writes about software. He focuses on languages, VMs and compilers, HTML5/Javascript, and recently more on performance optimisation.
10:35am - 11:25am

by Logan Linn
Software Engineer at Prismatic

Data mutation and state management are major sources of incidental complexity, which can make developing and debugging applications much more difficult. Browser­based applications,in particular, are inherently tied to mutability through the DOM. Embracing immutability allows us to write pure and declarative code that is modular, and can be understood without reasoning about other parts of the system.

ClojureScript is a functional language that compiles to JavaScript, and all data...

11:50am - 12:40pm

by Jafar Husain
Cross-Team UI Technical Lead at Netflix

What does a mouse drag event have in common with an Array of numbers?

The answer to this question may surprise you: they are both collections. This key insight holds the key to dramatically simplifying asynchronous programming in Javascript.

In this talk you will learn how you can use the familiar Javascript Array methods to create surprisingly expressive asynchronous programs. Using just a few functions, you will learn how to do the following:

  • Declaratively build...
1:40pm - 2:30pm

by Richard Kasperowski
QCon Open Space Facilitator

Open Space

Join Werner Schuster, our speakers, and other attendees as we check up on the claims of the functional programming community: how and where are functional languages and concepts used in the real world? How do these concepts add value? What concepts carry their own weight and which ones don't? There may be Monads…

What is Open Space?

Every day at QConSF, we’ll open space five times, once for each track. Open Space is a kind of unconference, a simple way to run productive...

2:55pm - 3:45pm

by Kelsey Gilmore-Innis
‎Realtime Software Engineer at PagerDuty

by Stew O'Connor
Senior Software Engineer at Verizon

ScalaCheck, the property-based testing library for Scala, is a powerful tool for automating test coverage. Out of the box, you can easily generate gobs of test data and automatically shrink failure cases down to specific causes. Who was ever satisfied with out of the box, though?!?

4:10pm - 5:00pm

by Marius Eriksen
Infrastructure Engineer at Twitter

Functional programming embraces a kind of conceptual purity which often finds itself at odds with the demands of real world systems. Functional programming works best in a kind of ideal computing environment: heaps are endless, file descriptors don’t exist, partial failure cannot happen, and demands can never exceed a system’s capacity. Inevitably, the real world won’t accommodate: as a system scales, so does this apparent rift.
 
How do we mend this rift? Where do we have to...

5:25pm - 6:15pm

by Jafar Husain
Cross-Team UI Technical Lead at Netflix

by Logan Linn
Software Engineer at Prismatic

by Marius Eriksen
Infrastructure Engineer at Twitter

by Kelsey Gilmore-Innis
‎Realtime Software Engineer at PagerDuty

by Stew O'Connor
Senior Software Engineer at Verizon

by Werner Schuster
InfoQ Editor Functional Programming, QCon PC, Wolfram

Functional languages are on the rise but real world adoption still faces some problems: finding developers, pitching functional languages to management, immature tooling, etc.

In this panel we'll discuss which issues have an impact on the adoption of functional languages, hear how our speakers have addressed these issues and of course we'll have to for the audience to quiz the panel speakers.

Tracks

Covering innovative topics

Monday, 3 November

Tuesday, 4 November

Wednesday, 5 November