Non-Functional Coding
summary
Refactors the Gilded Rose kata to concentrate all state changes into single assignment and then to a declarative pattern‑matching rule set, showing the refactor compiles and simplifies reasoning; surveys TIOBE/RedMonk/IEEE popularity and concludes declarative/functional growth plateaus around 2015; documents Facebook converting raw objects into immutable view models plus caches to improve maintainability; recommends passing time as a value rather than a singleton (pass the time value) to avoid hidden global state.
AI-written summary · about
chapters (20)
- 0:00Introduction
- 1:08Non-functional requirements misunderstood
- 4:17Software failures and causes
- 7:48Imperative vs declarative
- 9:51Von Neumann’s critique
- 10:55Refactoring Gilded Rose functionally
- 15:46Programming languages and age
- 20:21Functional programming adoption
- 22:49History of programming features
- 28:03Haskell perspective on FP
- 31:14Anti-patterns in control flow
- 33:24Immutability and encapsulation
- 36:31Java’s Date class flaws
- 42:30OOP as assembler
- 43:33Data abstraction in Python
- 47:23Functional techniques at Facebook
- 50:08Unix epoch and time
- 52:17Dependency injection and time
- 57:59Parameterization and functional style
- 1:00:06Time, control flow, systems
related talks
40mMake Ruby Functional Again!
56mFunctional Programming on .NET - The Best of Both Worlds
36mHow functional programming change my Java code
45mFrom Imperative to Functional
29mLet's get functional
51mFunctional Principles for Object Oriented Development
44mFunctional Programming You Already Know
49m“Applying functional programming in code design"
