An off-the-cuff stream of Functional Programming ideas, skills, patterns, and news from Functional Programming expert Eric Normand of LispCast.
Computer Science as Empirical Inquiry: Symbols and Search
2:04:33In this episode, I excerpt from and comment on Allen Newell's and Herbert Simon's 1975 ACM Turing Award Lecture.
How far can we stretch technical debt?
24:52Technical debt is a metaphor used to explain the tradeoff we all face when we have a deadline. How much is it worth to rush the code out the door? It's a good metaphor, but the term is often used these days to mean 'code I don't like'. In this episode, I examine the parts of the metaphor and ways in which technical debt differs from financial debt.
How to avoid premature optimization?
32:10I explore why clean code is a lagging indicator and how the domain model is a leading indicator of maintenance cost.
What is domain modeling?
21:46I begin exploring the process of domain modeling with a definition.
Computer Programming as an Art
1:21:01I read from the 1974 Turing Award Lecture by Don Knuth.
Programmer as Navigator
1:11:29We read and discuss the 1973 ACM Turing Award Lecture by Charles W. Bachman.
The Humble Programmer
2:16:14We read from and comment on Edsger Dijkstra's 1972 Turing Award Lecture called The Humble Programmer. Is the problem with programming that we don't recognize our own limitations? We'll explore that and more.
What's the relationship between abstraction and generality?
16:56Do abstract and general mean the same thing? I don't think so. I've actually stopped using the term 'abstraction' because it's so laden with semantic baggage. We explore what they do mean in different contexts, and why abstract is not a relative term.
Why is data so powerful?
8:30In this episode, we explore why Clojure's stance of not wrapping data much is so powerful in the world we live in.
What if data is a really bad idea?
55:00In this episode, I read from and discuss a comment thread between Rich Hickey and Alan Kay.