I code Haskell for a day job. Until seeing this talk, I had no real solid knowledge of what a monad actually *was*. Chris was able to describe it to me in terms a programmer can understand, relating it to Abstract Data Types. The fact that it took a PHP dev to explain FP concepts to an FP dev to actually get it shows just how well Chris can teach his subject matter.
Great talk that outlined Monads (abstract data type that when the methods on it are called, it returns a new instance of the same data type) and why they are useful, why they should be used in PHP, and how to use them with practical code examples. Hope the slides are posted, because there's a bit of magic to it.
I came in with a good knowledge of monads straight out of Haskell, and this did a great job teaching me how to teach monads without talking about `(>>=)`, `return`, and scary type signatures. I can't speak to how this would be received by the uninitiated, but I recommend this talk highly.
Perhaps the only shortcoming was that I felt the speaker didn't have great responses to questions from the "skeptics". But I guess that's an open problem anyway.
While I wish there were actual code examples of monads in production, the explanation of what they are, how to use them, and at least listing some projects implementing them in production was super helpful. I've used monad-like structures in other languages, so applying the technique to PHP was definitely helpful.
Nice to see a presentation on such a challenging topic. I came in only with the knowledge that monads were somehow related to functional programming. Throughout the first part of the talk, I wasn't sure what was going on and how it related to monads, so I struggled to keep up. It would have helped me if the talk had started with a little more of an idea of what monads are, like some of the examples given in the end with jQuery selections and such. As it was presented, I wasn't sure what parts of the sample code being presented were important to focus on.
Katie McLaughlin's comments say it best. I've been buried before trying to understand the Liskov Substitution Principle, given that it's the "L" in the SOLID principles that Michael Feathers and Uncle Bob want us to follow. Explanations generally refer to the concept of an Abstract Data Type without ever helping me understand what they're talking about. Thanks to Chris, I now "get" Abstract Data Type and its meaning to my life.
This was a great example of how to do a tech talk - clear, simple examples and explanations, nice parallels between the different cases to illustrate the underlying abstraction. Christopher presented in a friendly, eloquent style and had good answers to questions at the end.
Comments
Comments are closed.
Well covered, solid presentation. Clear and concise. I think I got the concept and now would know how to explain to others! Thanks.
I code Haskell for a day job. Until seeing this talk, I had no real solid knowledge of what a monad actually *was*. Chris was able to describe it to me in terms a programmer can understand, relating it to Abstract Data Types. The fact that it took a PHP dev to explain FP concepts to an FP dev to actually get it shows just how well Chris can teach his subject matter.
Very well done and informative talk. Thank you.
Great talk that outlined Monads (abstract data type that when the methods on it are called, it returns a new instance of the same data type) and why they are useful, why they should be used in PHP, and how to use them with practical code examples. Hope the slides are posted, because there's a bit of magic to it.
I came in with a good knowledge of monads straight out of Haskell, and this did a great job teaching me how to teach monads without talking about `(>>=)`, `return`, and scary type signatures. I can't speak to how this would be received by the uninitiated, but I recommend this talk highly.
Perhaps the only shortcoming was that I felt the speaker didn't have great responses to questions from the "skeptics". But I guess that's an open problem anyway.
Great stuff!!
Fantastic talk. The length and flow were perfect. The examples were especially good.
While I wish there were actual code examples of monads in production, the explanation of what they are, how to use them, and at least listing some projects implementing them in production was super helpful. I've used monad-like structures in other languages, so applying the technique to PHP was definitely helpful.
Nice to see a presentation on such a challenging topic. I came in only with the knowledge that monads were somehow related to functional programming. Throughout the first part of the talk, I wasn't sure what was going on and how it related to monads, so I struggled to keep up. It would have helped me if the talk had started with a little more of an idea of what monads are, like some of the examples given in the end with jQuery selections and such. As it was presented, I wasn't sure what parts of the sample code being presented were important to focus on.
Katie McLaughlin's comments say it best. I've been buried before trying to understand the Liskov Substitution Principle, given that it's the "L" in the SOLID principles that Michael Feathers and Uncle Bob want us to follow. Explanations generally refer to the concept of an Abstract Data Type without ever helping me understand what they're talking about. Thanks to Chris, I now "get" Abstract Data Type and its meaning to my life.
This was a great example of how to do a tech talk - clear, simple examples and explanations, nice parallels between the different cases to illustrate the underlying abstraction. Christopher presented in a friendly, eloquent style and had good answers to questions at the end.