From Objects to Functions • Uberto Barbini & Duncan McGregor
Jul 12, 2024
auto_awesome
Guests Uberto Barbini and Duncan McGregor discuss functional programming in Kotlin, transitioning from Java, leveraging Kotlin for easier transitions, the impact of programming languages on problem-solving, comparing object-oriented and functional programming, reflections on writing a book, exploring functional programming through a real-world example, and teaching programming to kids.
Functional programming focuses on transformation functions and clear data processing for efficient code testing and reuse.
Balancing practicality and correctness in functional programming is essential for efficient code compilation and problem-solving.
Deep dives
Evolution of Kotlin Programming
Roberto Barbini discusses his journey from working in London banks to exploring Kotlin and functional programming. Initially hesitant about Kotlin, he found its productivity and simplicity advantageous for software development. His book offers a bridge between Java and functional programming, guiding readers through practical project implementations.
Functional Programming Principles
Barbini emphasizes the importance of functional programming's focus on transformation functions and clear data processing. He underscores the significance of designing functions that perform specific tasks, making code testing and reuse more efficient. Functional programming allows for less coupling in code, enhancing readability and minimising errors.
The Interplay Between OO and FP
Barbini highlights the compatibility of object-oriented and functional programming, acknowledging the strengths of each. He suggests that OO is ideal for stateful applications requiring simulation, while FP excels in transformation processes like web servers and ETL applications. By embracing both paradigms, developers can leverage the respective strengths of each.
Balancing Pragmatism and Correctness
Barbini delves into the balancing act between practicality and correctness in functional programming. While enjoying the efficiency of functional solutions, he acknowledges the challenges, including ensuring code compilation and maintaining a pragmatic approach to problem-solving. Barbini's book navigates these complexities, providing insights into the practical application of functional programming principles.
DESCRIPTION Build applications quicker and with less effort using functional programming and Kotlin. Learn by building a complete application, from gathering requirements to delivering a microservice architecture following functional programming principles. Learn how to implement CQRS and EventSourcing in a functional way to map the domain into code better and to keep the cost of change low for the whole application life cycle.
If you’re curious about functional programming or you are struggling with how to put it into practice, this guide will help you increase your productivity composing small functions together instead of creating fat objects.