Funksjonell programmering er stadig mer etterspurt. Programutvikling har satt sammen et dagsseminar for deg som har hørt om funksjonell programmering og lurer på hva dette er, hvilken nytte du kan få ut av det, og hvilke alternativer som finnes innen området.

Vi starter dagen med en generell introduksjon, før vi gir dere et lite grunnkurs i noen av de vanligste funksjonelle språkene.

Etter seminaret inviterer vi til mat og drikke på Barbera, Aker Brygge. Her vil det være mulig å mingle med speakere og andre deltagere. Vi har samlet et knippe av Norges mest erfarne innen området, og du vil ha god anledning til å få svar på de spørsmål du har, eller rett og slett bare for å ta en diskusjon rundt temaene.


09:00 – 10:00

Keynote: Functional Thinking – Neal Ford

Learning the syntax of a new language is easy, but learning to think under a different paradigm is hard. This session helps you transition from a Java writing imperative programmer to a functional programmer, using Java, Clojure and Scala for examples. This session takes common topics from imperative languages and looks at alternative ways of solving those problems in functional languages.

10:00 – 11:00

Pure, Functional Javascript – Christian Johansen

Are you comfortable passing functions around, returning them from other functions, and generally enjoy the pleasures of higher–order functions? Join in on a brief hour implementing ideas from functional programming in JavaScript. I will show you how you can significantly up your game by leaving loops behind and embracing functions as your primary unit of abstraction.

11:00 – 12:00

Theres More to Life than Just Functions – Bodil Stokke

Functional programming is very nice and all, but the paradigm shift away from OO encompasses a lot more than just lambda calculus and first class functions. Lets explore the implications of some of the other characteristics of modern functional languages, and in particular the game changing properties of Clojure, the modern day scion of the ancient Lisp family. Why are immutable data structures important? What makes a homoiconic language so powerful, and what does "homoiconic" even mean? What if everything was data?

12:00 – 13:00

Lunch Break

13:00 – 14:00

Introduksjon til F# – Funksjonell Programmering på CLR – Jonas Follesø

F# er et open source, statisk typet, multiparadigme programmeringsspråk med hovedfokus på Funksjonell Programmering. Språket kjører på CLR–en, og er tilgjengelig for både Microsoft .NET og Mono. Språket ble først lansert i 2005, og siste versjon (3.0) ble lansert i høst sammen med Visual Studio 2012. F# er med andre ord et modent språk, med solid verktøystøtte og tilgang til et rikt sett med biblioteker og rammeverk gjennom .NET økosystemet.

Denne presentasjonen gir en introduksjon til Funksjonell Programmering i F#. Presentasjonen vil dekke både grunnleggende syntaks og egenskaper, med fokus på unike egenskaper og styrker i språket. Vi vil blant annet se på pattern matching, type inference, discriminated unions, type aliasing, records, sequences, asynkron– og parallel programmering, units of messaure og mye annet.

Presentasjonen vil vise hvordan gjøre F# utvikling både på Mac med Mono og Windows med .NET.

14:00 – 15:00

Scala – Objects and classes, or functions and immutable data? – Jon–Anders Teigen

Like Winnie–the–Pooh when asked about honey or condensed milk the answer is "Both".

This presentation will give you an introduction to Scala covering both its object oriented and functional features, and how to use them effectively.

15:00 – 16:00

Why Erlang is that it is (... and what it is) – Robert Virding

"Erlang is a language which was designed to program large, concurrent, robust, fault tolerant systems. Its features make it perfect for multi–core computers, although it pre–dates them, and for the Internet Age, although it pre–dates the Web as well. It truly demonstrates the benefits of concurrency–oriented programing.

In this talk we will look back at the history of Erlang and show the influences and goals which helped form the language. We will then look at the Erlang language, how it implements these goals and how it is used to build robust systems."

16:00 – 17:00

Why You Should Care about Functional Programming – Neal Ford

Even if you dont care anything about Scala or Clojure, and are happy coding in your current language for the rest of time, your language will change underneath you, looking more functional all the time. There are reasons that is happening, which this talk will explore, so that you can fully take advantage of changing paradigms.

Om foredragsholderne

Neal Ford

Neal Ford is Director, Software Architect, and Meme Wrangler at ThoughtWorks, a global IT consultancy with an exclusive focus on end–to–end software development and delivery. He is also the designer and developer of applications, magazine articles, video⁄DVD presentations, and author and⁄or editor of eight books spanning a variety of subjects and technologies, including the most recent Presentation Patterns. He focuses on designing and building of large–scale enterprise applications. He is also an internationally acclaimed speaker, speaking at over 300 developer conferences worldwide, delivering more than 2000 presentations. Check out his web site at He welcomes feedback and can be reached at

Robert Virding

Robert Virding is a Principal Language Expert with Erlang Solutions AB. While at Ericsson AB, Robert Virding was one of the original members of the Ericsson Computer Science Lab, and co–inventor of the Erlang language. He took part in the original system design and contributed much of the original libraries, as well as to the current compiler. While at the lab he also did a lot of work on the implementation of logic and functional languages and on garbage collection. He has also worked as an entrepreneur and was one of the co–founders of one of the first Erlang startups (Bluetail). Robert Virding also worked a number of years at the Swedish Defence Materiel Administration (FMV) Modelling and Simulations Group. He co–authored the first book (Prentice–Hall) on Erlang, and is regularly invited to teach and present throughout the world.

Christian Johansen

Christian is a passionate programmer currently working at where he does everything from JavaScript to Ruby to Unix systems tuning. He is the author of "Test–Driven JavaScript Development", and he maintains several open source projects, including the recently released test–framework Buster.JS and the popular mocking framework Sinon.JS. After dark you may find him tinkering with his Emacs setup, coding Lisp and slowly being devoured by the world of functional programming.

Bodil Stokke

Bodil is a developer, frequent speaker and occasional teacher of web technology and anything that favours s–expressions. She is currently serving as the Director of Frontend Development at Arktekk. She is best known as the creator of the Catnip IDE for Clojure, and for her contributions to the field of programming language theory, especially the Facial Hair Theory of Language Design. She holds a Ph.D in applied metaphysics from eBay.

Jonas Follesø

Jonas is a scientist at BEKK in Trondheim. He has broad experience and in–depth knowledge of the .NET Framework, ASP.NET, WPF, Silverlight and the C# programming language. Jonas is an active member of and contributor to the .NET developer community. He is an experienced speaker from industry events like TechEd, REMIX, MSDN Live and NDC. In 2006 Jonas was nominated Microsoft Regional Director for his contributions and involvement with the Microsoft developer community.

Jon–Anders Teigen

Jon–Anders Teigen is an experienced Scala and Java software developer.

As an active and long time member of the Scala community, he is a frequent speaker at events and conferences, and has contributed to a range of open source Scala projects. Jon–Anders is the co–founder of ScalaBin – “The Norwegian Scala User Group”, and Oslo Socially Functional – A meetup for functional programmers.