Life After Business Objects: Confessions of an OOP Veteran • Vagif Abilov • GOTO 2021

This presentation was recorded at GOTO Copenhagen 2021. #GOTOcon #GOTOcph
http://gotocph.com

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:
https://gotocph.com/2021/sessions/1799/life-after-business-objects-confessions-of-an-oop-veteran

RECOMMENDED BOOKS
Richard Warburton • Object-Oriented vs. Functional Programming • https://amzn.to/3xkWQ0F
Russ Olsen • Getting Clojure • https://amzn.to/3J8zI8s
Russ Olsen • Eloquent Ruby • https://amzn.to/37gOhcG
Richard Feldman • Elm in Action • https://amzn.to/387kujI
Neal Ford • Functional Thinking • https://amzn.to/3DdP35B
Venkat Subramaniam • Functional Programming in Java • https://amzn.to/2WlOXIt
Ulisses Almeida • Learn Functional Programming with Elixir • https://amzn.to/389grn6
Eric Normand • Grokking Simplicity • https://amzn.to/3gz7o3C

https://twitter.com/GOTOcon
https://www.linkedin.com/company/goto-
https://www.facebook.com/GOTOConferences
#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 https://gotopia.tech
Sign up for updates and specials at https://gotopia.tech/newsletter

SUBSCRIBE TO OUR CHANNEL - new videos posted almost daily.
https://www.youtube.com/user/GotoConferences/?sub_confirmation=1

Home