Dan Lebrero
Java with a Clojure mindset
#1about 4 minutes
Applying an alien Clojure mindset to a Java application
A real-world betting bonus application is used as an example to explore how functional principles from Clojure can improve Java code.
#2about 3 minutes
The core concept of pure functions versus side effects
Pure functions, which always return the same output for a given input, are easier to understand and change than code with unpredictable side effects.
#3about 10 minutes
Managing application state using immutability and atoms
Separate business logic from state management by using immutable data structures and a central atomic reference to handle concurrent updates safely.
#4about 8 minutes
Decoupling the decision and execution of side effects
Instead of executing side effects directly, pure functions should return data structures that describe the effects to be performed by an external execution layer.
#5about 3 minutes
Managing input co-effects with Kafka and event sourcing
Use an event stream like Kafka as the source of truth to rebuild application state in memory, eliminating the need for database reads in the core logic.
#6about 1 minute
Designing with a functional core and imperative shell
Isolate pure business logic in a 'functional core' and handle all interactions with the outside world in a thin 'imperative shell'.
#7about 4 minutes
The benefits of data-oriented programming over custom types
Representing domain models as generic data structures like maps and lists allows for greater code reuse from core libraries and third-party tools.
#8about 2 minutes
Achieving a tight feedback loop with a dynamic REPL
A REPL (Read-Eval-Print Loop) enables modifying and inspecting a live application without restarts, creating an interactive and highly efficient development workflow.
#9about 4 minutes
Why Lisp's 'code is data' philosophy is powerful
In Lisp-family languages like Clojure, code is represented by the language's own data structures, which makes metaprogramming incredibly natural and powerful.
#10about 2 minutes
Final thoughts on learning from alien programming languages
Embracing languages with different paradigms, like Clojure, can fundamentally change how you think about and design software in any language.
Related jobs
Jobs that call for the skills explored in this talk.
tree-IT GmbH
Bad Neustadt an der Saale, Germany
€54-80K
Intermediate
Senior
Java
TypeScript
+1
Matching moments
01:32 MIN
Organizing a developer conference for 15,000 attendees
Cat Herding with Lions and Tigers - Christian Heilmann
04:57 MIN
Increasing the value of talk recordings post-event
Cat Herding with Lions and Tigers - Christian Heilmann
03:17 MIN
Selecting strategic partners and essential event tools
Cat Herding with Lions and Tigers - Christian Heilmann
02:44 MIN
Rapid-fire thoughts on the future of work
What 2025 Taught Us: A Year-End Special with Hung Lee
03:39 MIN
Breaking down silos between HR, tech, and business
What 2025 Taught Us: A Year-End Special with Hung Lee
03:38 MIN
Balancing the trade-off between efficiency and resilience
What 2025 Taught Us: A Year-End Special with Hung Lee
04:27 MIN
Moving beyond headcount to solve business problems
What 2025 Taught Us: A Year-End Special with Hung Lee
03:34 MIN
The business case for sustainable high performance
Sustainable High Performance: Build It or Pay the Price
Featured Partners
Related Videos
Modern Java: This is not your father's Java anymore
Ron Veen
Using backend languages for frontends: Why ClojureScript is an awesome idea!
Tobias Schröder
Java 21: The Revolution of Virtual Threads - A Deep Dive
Christian Woerz
Side-by-Side: Reactive vs non-reactive Java
Jan Weinschenker
Best of Java 15 and beyond—my favorite features
Michael Inden
2021: Familiar APIs on Kickass Runtimes #slideless
Adam Bien
Route from Java to Kotlin
Christian Woerz
Introduction and pitfalls of Java's new concurrency model
David Vlijmincx
Related Articles
View all articles

.gif?w=240&auto=compress,format)

From learning to earning
Jobs that call for the skills explored in this talk.


WeMatch GmbH
€65-90K
Java
Vaadin
Kotlin
Microsoft SQL Server


JetBrains
Amsterdam, Netherlands
Java
JUnit
Maven
Gradle
Python
+4




