3 ms·
> If you cannot communicate with a beginner in language they understand, A.) you don't really understand it either This is true, but the problem is that people
by JadeNB 5y ago
> If you cannot communicate with a beginner in language they understand, A.) you don't really understand it either
This is true, but the problem is that people will always prefer the explanation that is, as the saying goes, "simple, neat, and wrong" over the explanation that is more complicated, especially if they (and possibly the person explaining) aren't aware that the simplified version is wrong. Even if one starts from an accessible viewpoint, any concept that is worth isolating as a concept will involve some difficult step in its exposition, and it is at that step that the person seeking to understand—not the explainer—has to decide whether to stick with the explanation despite the difficulty, or to be satisfied with an easy and wrong explanation.
- 6nf 5y agoYou have to start with the 'simplified but not technically perfectly correct' and then add in the nuances to get to the real point. Starting with words like 'functors' that most software engineers today will not be able to define is not useful.
- Littlebigo 5y agoThe article is likely aimed at intermediate-ish FP programmers, though, not people with no prior knowledge. (Although I suspect it is an example of "learning by teaching", since it is wrong on many counts.) Learn You a Haskell mentions functors in chapter 8 and teaches them properly in chapter 11. http://learnyouahaskell.com/making-our-own-types-and-typeclasses#the-functor-typeclass http://learnyouahaskell.com/making-our-own-types-and-typecla...
- mhitza 5y agoIn my opinion Monads at this point should be considered a beginner Haskell concept. Regardless of how LYAH chooses to order things, (when have you used a Zipper last time?), they are too essential to any beginner Haskell program. In my opinion we need a new imperative first approach to Haskell teaching, to develop intuition on monads quickly.
- JadeNB 5y ago> Starting with words like 'functors' that most software engineers today will not be able to define is not useful. But the parent post https://news.ycombinator.com/item?id=28476325 https://news.ycombinator.com/item?id=28476325 to which lmm was responding https://news.ycombinator.com/item?id=28476569 https://news.ycombinator.com/item?id=28476569 said "Wait, a functor is just a pure unary function?" If someone asks you the definition of a technical term, you sort of have to at least refer to the technical term.