This presentation was recorded at GOTO Copenhagen 2021. #GOTOcon #GOTOcph Vagif Abilov - Senior Consultant at Miles with 30 Years of Programming Experience ABSTRACT It finally happened: tired of mutable data structures and thread synchronisation, Vagif's team decided to use functional programming and F# for the next generation of their system. Gigabytes of data are going through their applications every hour with high demand for performance, scalability and failure recovery. The fact that their project has for a long time been in production can identify it as success, but has the choice of FP become an essential part of this success? Could they achieve similar development speed and operational stability if we settled for OOP (and C# on .NET platform)? They believe that functional programming provides a set of defaults that can give significant advantages for development with short deadlines and continuous deployment, and Vagif will share their experience and lessons learned in this talk [...] TIMECODES 00:00 Intro 03:28 Modeling a point 05:33 Data structures in Fsharp 06:52 OOP vs. FP 07:21 Half-lives of software related entities 10:18 Locks do not compose 11:13 Amdahl's law in action 12:17 Business objects 15:37 Joe Armstrong on OOP 16:12 Business objects 17:13 Scott Wlaschin “Domain Modeling Made Functional“ 20:54 Domain modeling in Fsharp 21:43 Algebraic data types in Fsharp 24:17 Yaron Minsky “Make illegal state unrepresentable“ 25:48 Can't we adopt FP style in C#/Java? 28:57 Alan Kay on objects 30:30 Classic OOP vs real world 32:16 Actor model as OO done right 33:44 Impact of FP on feature development cycle 35:54 What main advantage did we gain with FP? 36:54 Outro Download slides and read the full abstract here: RECOMMENDED BOOKS Richard Warburton • Object-Oriented vs. Functional Programming • Russ Olsen • Getting Clojure • Russ Olsen • Eloquent Ruby • Richard Feldman • Elm in Action • Neal Ford • Functional Thinking • Venkat Subramaniam • Functional Programming in Java • Ulisses Almeida • Learn Functional Programming with Elixir • Eric Normand • Grokking Simplicity • #OOP #Fsharp #Csharp #FP #ObjectOrientedProgramming #FunctionalProgramming #Concurrency #AmdahlsLaw #Amdahl #VagifAbilov #JoeArmstrong #ScottWlaschin #DomainModeling #Java #Kotlin #Cpp #AlanKay #Akka #AkkadotNET Looking for a unique learning experience? Attend the next GOTO conference near you! Get your ticket at Sign up for updates and specials at SUBSCRIBE TO OUR CHANNEL - new videos posted almost daily.
Hide player controls
Hide resume playing