The Eric Normand Podcast

Eric Normand
undefined
Aug 22, 2019 • 18min

Monads in the real world

Dive into the world of monads and discover their real-world applications! The conversation breaks down complex concepts using relatable examples, making them easy to grasp. Learn how monads function like functors and the crucial join operation. The maybe type in Haskell shines through as it helps manage optional values seamlessly. With analogies like a box of chocolates, you'll see how monads simplify function outputs and enhance programming understanding.
undefined
Aug 19, 2019 • 7min

What is the difference between parallelism and concurrency?

Dive into the fascinating world of computing with a clear distinction between parallelism and concurrency. Discover how concurrency focuses on the safe sharing of resources among processes, while parallelism enhances performance by adding more resources. This insightful discussion sheds light on the vital roles these concepts play in functional programming, sparking curiosity about efficient resource management. Get ready to improve your understanding of these essential programming paradigms!
undefined
11 snips
Aug 15, 2019 • 26min

How do you develop algebraic thinking?

Discover how functional programming can enhance algebraic thinking through self-study methods like property-based testing. The conversation dives into advanced algebraic concepts, emphasizing the role of strong typing and abstraction in Haskell. With practical examples, they show how these principles promote better problem-solving and robust software development.
undefined
7 snips
Aug 12, 2019 • 18min

What is an algebra?

Dive into the intriguing world of algebras in functional programming. Discover how APIs can act as algebras, enriching software design with mathematical elegance. The discussion highlights essential traits that elevate expressiveness and fluidity in coding, making complex concepts accessible and engaging.
undefined
Aug 5, 2019 • 17min

What is a calculation?

Dive into the fascinating world of calculations as pure functions in functional programming. Discover how they differ from traditional mathematical functions and why viewing them as timeless simplifies understanding. Explore the idea of calculations as first-class objects, enhancing the power of higher-order functions. This engaging discussion shines a light on the advantages of transparency in programming, leading to better testing and comprehension.
undefined
Aug 1, 2019 • 20min

What is so great about object oriented programming?

Dive into the fascinating world of object-oriented programming as the speaker unveils its standout benefits, including polymorphism and late binding. These principles bolster flexibility, allowing systems to evolve effortlessly. However, the discussion doesn’t shy away from reality, addressing the balance between change and stability in coding. Explore how object-oriented design serves as a framework that embraces uncertainty, making it a vital player in software development.
undefined
Aug 1, 2019 • 7min

Why should you throw away all of your code?

Explore the transformative idea of iterating through your code like a writer revises an essay. Discover how embracing experimentation in programming can lead to clearer and more elegant solutions. The discussion emphasizes the art of letting go of old code to enhance creativity and innovation in functional programming. Uncover the importance of revisiting your work to foster growth and improvement.
undefined
Jul 29, 2019 • 10min

What is Data Modeling?

Explore the fascinating world of data modeling in programming! Discover how it differs in functional versus object-oriented paradigms, prioritizing relationships over mere entities. Dive into the complexities of modeling with graphs, where relationships are treated as edges. Learn about the benefits of separating data from behavior, enhancing flexibility in representation. Whether you're a seasoned developer or a curious newbie, this discussion opens up new insights into how we structure information in software.
undefined
Jul 25, 2019 • 19min

What is an action? (better edit)

Dive into the intricacies of functional programming as the discussion unpacks the concept of actions versus simple calculations and data. Discover the unique challenges actions pose and gain practical techniques for their effective management. The conversation hints at new strategies and a forthcoming book that promises to delve deeper into these fascinating ideas. It's a must-listen for anyone looking to enhance their understanding of software execution!
undefined
Jul 22, 2019 • 15min

What is tail recursion?

Dive into the fascinating world of tail recursion! Discover how it prevents stack overflow and why it's crucial for efficient programming. Learn the differences between regular recursion and tail recursion, and explore tail call optimization. The conversation also covers various programming languages that support this feature and offers alternatives for effective recursion management. Get ready to enhance your coding skills!

The AI-powered Podcast Player

Save insights by tapping your headphones, chat with episodes, discover the best highlights - and more!
App store bannerPlay store banner
Get the app