Tackling Complexity With Functional Programming And Kotlin
What if your type system could eliminate entire classes of runtime errors? Learn how functional patterns in Kotlin make illegal states unrepresentable, leading to more robust code.
#1about 3 minutes
Understanding a complex and unusual feature request
A real-world example of a complex feature request involves an offline form editor that syncs data via JSON embedded in PDF metadata.
#2about 3 minutes
Why traditional try-catch blocks fail for complex errors
Traditional try-catch blocks for error handling either obscure an error's origin or make the code unreadable with excessive boilerplate.
#3about 7 minutes
Using the Either type for robust functional error handling
Replace exceptions with the `Either` sealed class, using `flatMap` to chain successful operations and `fold` to handle the final success or error state.
#4about 4 minutes
Enforcing data validation using private constructors in Kotlin
Use a private constructor combined with a companion object's `invoke` operator to run validation logic upon object creation, preventing invalid states.
#5about 7 minutes
Modeling distinct data states with algebraic data types
Use sealed classes (sum types) to model different states like `Draft` and `Validated`, letting the compiler enforce state-specific logic instead of relying on boolean flags.
#6about 4 minutes
Recap of functional techniques and audience Q&A
A summary of using `Either` for errors, private constructors for validation, and ADTs for state, followed by a Q&A on libraries like Arrow and custom exceptions.
Related jobs
Jobs that call for the skills explored in this talk.
Matching moments
03:57 MIN
Modern object orientation with Kotlin data classes
Moving from Java to Kotlin
02:29 MIN
Using Kotlin Coroutines to simplify complex reactive code
Back(end) to the Future: Embracing the continuous Evolution of Infrastructure and Code
02:00 MIN
Real-world applications of functional programming
A Guide To Functional Programming
01:26 MIN
Leveraging functional programming with first-class functions
Moving from Java to Kotlin
10:56 MIN
Audience Q&A on Kotlin features and learning resources
Route from Java to Kotlin
01:40 MIN
Creating reusable UI components with Kotlin extension functions
How to kill JavaScript from your Stack with HTMX and Kotlin
06:04 MIN
Audience Q&A on functional programming concepts
A Guide To Functional Programming
02:58 MIN
Introduction to Kotlin and its Java interoperability
How we Build The Software of TomorrowWelcome to this issue of the WeAreDevelopers Live Talk series. This article recaps an interesting talk by Thomas Dohmke who introduced us to the future of AI – coding.This is how Thomas describes himself:I am the CEO of GitHub and drive the company’s...
Chris Heilmann
All the videos of Halfstack London 2024!Last month was Halfstack London, a conference about the web, JavaScript and half a dozen other things. We were there to deliver a talk, but also to record all the sessions and we're happy to share them with you. It took a bit as we had to wait for th...
The real reason we document our codeThe world of software development moves fast. Technology is constantly changing, as are the tools we use with it, and even the role of a programmer is itself constantly in flux. However, some aspects of software engineering are so foundational that w...
From learning to earning
Jobs that call for the skills explored in this talk.