This presentation was recorded at YOW! Australia 2024. #GOTOcon #YOW
https://yowcon.com
Kris Jenkins - Developer Advocate, Software Developer, Podcast Host, Conference Speaker & Geek @krisajenkins
RESOURCES
https://bsky.app/profile/krisajenkins.bsky.social
https://www.linkedin.com/in/krisjenkins
https://twitter.com/krisajenkins
https://github.com/krisajenkins
http://blog.jenkster.com
ABSTRACT
Side-effects are insidious beasts. They make code harder to test, harder to use, and harder to compose. And yet to most programmers, they're almost completely invisible. And that means they sneak into our codebases without meeting any resistance.
So let's take a closer look at side-effects and learn how to fight back. By training yourself to spot them, you can start to eliminate one of the sneakiest causes of software complexity. You'll understand why some code is naturally easier to test, and why some APIs are inherently harder to work with. (And you'll be able to write more of the good kinds!)
Then, as we zoom out, you'll see why side-effects are the unifying force behind some of the most exciting ideas in modern programming, from immutable data structures and functional programming, through the latest developments in Java and the roots of Rust all the way to the evolution of event systems and high-scale databases.
There's an iceberg of complexity hiding in your systems' side-effects and by the end of this talk you'll be able to spot it and have a raft of ideas for tackling it, from devops to database design and beyond. [...]
TIMECODES
00:00 Intro
01:27 Let's talk about side effects
06:03 APIs & contracts
08:51 Hidden dependency graphs
10:47 Data
12:27 Programming is doomed
12:46 What can we do about it?
15:01 What if we went further?
18:06 What about other side-effects?
24:15 Functional programming
31:06 So, let's talk about side effects
32:50 Outro
Download slides and read the full abstract here:
https://yowcon.com/brisbane-2024/sessions/3592
RECOMMENDED BOOKS
Sandy Maguire • Thinking with Types • https://leanpub.com/thinking-with-types
Edwin Brady • Type-Driven Development with Idris • https://amzn.to/432GZTi
Maryann Kisamore • Basics Of Apache Kafka • https://amzn.to/3tkVYFD
Mitch Seymour • Mastering Kafka Streams and ksqlDB • https://amzn.to/3HZ18wK
Ted Dunning & Ellen Friedman • Streaming Architecture • https://amzn.to/3lhk3Kb
Liz Rice • Container Security • https://amzn.to/3oU4iJe
Neal Ford • Functional Thinking • https://amzn.to/3DdP35B
Petricek & Skeet • Real-World Functional Programming • https://amzn.to/38diF4M
Venkat Subramaniam • Functional Programming in Java • https://amzn.to/2WlOXIt
https://bsky.app/profile/gotocon.com
https://twitter.com/GOTOcon
https://www.linkedin.com/company/goto-
https://www.instagram.com/goto_con
https://www.facebook.com/GOTOConferences
#Complexity #Testing #Rustlang #Haskell #Microservices #Types #TypeSystem #ModerTypeSystem #SoftwareDesign #Programming #SoftwareEngineering #TodayInTech #KrisJenkins #YOWcon
CHANNEL MEMBERSHIP BONUS
Join this channel to get early access to videos & other perks:
https://www.youtube.com/channel/UCs_tLP3AiwYKwdUHpltJPuA/join
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