

Happy Path Programming
Bruce Eckel & James Ward
No-frills discussions between Bruce Eckel and James Ward about programming, what it is, and what it should be.
Buy the Happy Path Programming t-shirt: https://happy-path.printify.me/products
Buy the Happy Path Programming t-shirt: https://happy-path.printify.me/products
Episodes
Mentioned books

Jan 7, 2021 • 1h 8min
#17 The Problem with Gradle; Java 11; SemVer Isn't
Bruce and James have struggled with Gradle for years and Bruce this week blogged about some of his gripes: The Problem with Gradle. This prompted a lengthy response from Cédric Champeau.
James has mostly stuck to Java 8 and Bruce is exploring Java 11.
Finally, James rants about SemVer for the 3.1.4'th time.
Discuss this episode: https://discord.gg/nPa76qF

Dec 19, 2020 • 1h 8min
#16 Kotlin for Scala Devs. Reflection is the Devil. Meta-Programming.
James, as a Scala "True Believer," talks about his experiences with Kotlin and how they compare to Scala. Then he switches gears to rant about runtime reflection which leads to a deeper conversation about meta-programming and alternatives to runtime reflection.
Discuss this episode: https://discord.gg/nPa76qF

Dec 14, 2020 • 1h 7min
#15 Atomic Kotlin Done! Cloud Events. TestContainers / Serverless Cassandra. Scala ZIO CLI.
Bruce shares exciting news about completing the Atomic Kotlin book. The rest is a mishmash of topics related to newsworthy announcements including Spring Boot Cloud Event support, Serverless + TestContainer + Kubernetes Cassandra support, and Scala ZIO CLI.
Discuss this episode: https://discord.gg/nPa76qF

Dec 4, 2020 • 1h 2min
#14 Poly-Polymorphism
Most developers have been exposed to inheritance based polymorphism but there are other ways to deal with overlapping functionality. In this episode we talk about ad-hoc polymorphism, parametric polymorphism, and type classes.
Discuss this episode: https://discord.gg/nPa76qF

Nov 6, 2020 • 36min
#12 The Rise of Python & (Unrelated) Making Illegal States Unrepresentable
Python usage surpasses Java to second place on the Tiobe Index (behind C). Is developer productivity the primary driver? We then switch gears to talk about the concept of "Making Illegal States Unrepresentable" where James continues his crusade against the Builder Pattern.
Discuss this episode: https://discord.gg/nPa76qF

Oct 30, 2020 • 1h 7min
#11 Small talk about Smalltalk
Our friend Joey Gibson joins us to talk about Smalltalk, the well known grandfather of Object Oriented Programming. James is assigned some homework to get a Smalltalk web app running on Google Cloud Run, which he did (after recording). Check out the source: https://github.com/jamesward/hello-pharo
Discuss this episode: https://discord.gg/nPa76qF

Oct 20, 2020 • 1h 6min
#10 Gazing Into the Programming Crystal Ball and Can Organizations Adopt Inner Source?
We start off discussing what the future of programming might be... Can developers stop thinking about resource limitations? Can we make the "right path" easy? Then we dive into Inner Source and the organizational & cultural challenges with adopting it.
Discuss this episode: https://discord.gg/nPa76qF

Oct 16, 2020 • 1h 8min
#9 Buildpacks, Containers, Kubernetes, Happy Path Programming, Rust, and gRPC
We start off talking about Cloud Native Buildpacks and Containers which of-course leads to James trying to explain Kubernetes. Then we dive into what "Happy Path Programming" means and how, while the term is somewhat derogatory, it is what we ultimately want. We end with a discussion about Bruce's recent explorations into Rust and gRPC.
Discuss this episode: https://discord.gg/nPa76qF

Oct 6, 2020 • 1h 6min
#8 Kotlin Revisited with Cedric Beust
Long-time Java author & expert, Cedric Beust, joins us to revisit some of the topics from our Kotlin episodes. We talk more deeply about checked exceptions, null safety, the builder pattern, build systems, and of-course Monads.
Discuss this episode: https://discord.gg/nPa76qF

Sep 29, 2020 • 56min
#7 Why Adopt New Technology? And Monads! Monads! Monads!
What are the reasons to adopt or migrate to a new technology? What prevents you from doing so? We explore that question and the differences between green-field and brown-field. Then we finally dive deep into Monads trying to conquer the Curse of the Monad.
Discuss this episode: https://discord.gg/nPa76qF


