The Eric Normand Podcast

Eric Normand
undefined
Jul 18, 2019 • 12min

What is memoization?

Dive into the intriguing world of memoization, a clever technique that boosts function efficiency by storing results. Discover how caching works and its practical applications across various programming contexts. Learn about implementation strategies using higher-order functions and uncover key insights on memory management implications. This exploration reveals the power of optimizing code and the potential trade-offs involved.
undefined
Jul 15, 2019 • 10min

How does making something first class give you power?

Explore how making programming elements first class revolutionizes coding practices. Discover insights from a 3D graphics pioneer that showcase the adaptability of viewing code as data. Learn the distinction between data structures and code, emphasizing the importance of treating data as a first-class citizen. This approach enhances safety, usability, and abstraction, ultimately leading to more efficient programming systems.
undefined
4 snips
Jul 11, 2019 • 12min

Is there a silver bullet for software? (part 2)

Discover the fascinating distinction between essential and accidental complexity in programming. The discussion emphasizes the importance of simplicity and efficiency in software design. Simplified and iterative approaches are explored as effective alternatives to complex methodologies. The dialogue also addresses the ongoing challenges within the software industry, questioning whether recent advancements have truly enhanced productivity. Listeners are encouraged to share their own experiences with these complexities.
undefined
Jul 8, 2019 • 19min

Is there a silver bullet for software development? (part 1)

Dive into the fascinating complexities of software development and discover why there's no 'silver bullet' solution. Explore the distinction between essential and accidental complexities, and reflect on how historical insights shape modern programming. The discussion also highlights the challenges of navigating microservices architecture, focusing on the careful selection of databases and programming languages. Gain a new perspective on agile decision-making in tech and appreciate the evolution of software challenges.
undefined
Jul 4, 2019 • 14min

Why getters and setters are terrible

Explore the pitfalls of using getters and setters in programming, as they often turn classes into mere data holders lacking essential functionality. The discussion emphasizes the need for better API design and encapsulation to enhance class structures. It also critiques the traditional approach within object-oriented programming, tracing its roots to the Java Bean specification and advocating for more impactful programming practices.
undefined
Jul 1, 2019 • 21min

Why taming complex software?

Explore the challenges of managing software complexity and how functional programming offers solutions. Discover the journey behind the book title 'Taming Complex Software' and its significance in addressing these issues. Learn about the intricacies of scaling software systems, including the impacts of conditionals and parallel processing. Find out how functional programming can enhance communication and streamline data modeling in complex environments.
undefined
4 snips
Jun 27, 2019 • 26min

3 Examples of algebraic thinking

Dive into the world of algebraic thinking and its vital role in functional programming. Discover how video editing can be approached through algebraic eyes. Uncover the magic of parser combinators as a tool for structuring data processing. Finally, explore the intricacies of asynchronous values and how they contribute to better decision-making in coding. The discussion emphasizes the beauty of simplicity and the power of whole values in creating clarity.
undefined
Jun 24, 2019 • 15min

What is a higher-order function?

For audio, video, and text transcripts: https://lispcast.com/what-is-a-higher-order-function/
undefined
Jun 20, 2019 • 15min

The 3 levels of functional thinking

Dive into the intriguing world of functional thinking, where you'll learn about three essential levels that enhance programming skills. Discover how to distinguish between actions and data, progressing to higher-order thinking. Explore the nuances of calculations and algebraic models that facilitate effective domain modeling. This enlightening discussion encourages listeners to think deeply and explore additional resources for further learning.
undefined
Jun 17, 2019 • 12min

What is functional thinking?

For audio, video, and text transcripts: https://lispcast.com/what-is-functional-thinking/

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