Re:Why Functional Programming is not more widely used in ind...
by didibus on Saturday August 25, 2018 @06:05PM
(#17842837)
Most of these are advanced topics though. You don't teach a beginner about OOP design patterns from the get go either.
If you start with defining functions, calling them, composing them, and using map/filter/reduce and all the stream like operations filter, remove, select, merge, substract, etc. I think it might be just as simple.
Haskell is a bad choice though, because it also forces you to learn about advanced type theory.
The truth is, I do believe there is a gap in that there's no FP language that doesn't also introduce another complex paradigm. MLs introduce advanced type theory. Lisps introduce advance meta-programming and homoiconicity.
If you take Python, and teach it using only its FP constructs, I think that is probably simpler to learn to a beginner.
If you start with defining functions, calling them, composing them, and using map/filter/reduce and all the stream like operations filter, remove, select, merge, substract, etc. I think it might be just as simple.
Haskell is a bad choice though, because it also forces you to learn about advanced type theory.
The truth is, I do believe there is a gap in that there's no FP language that doesn't also introduce another complex paradigm. MLs introduce advanced type theory. Lisps introduce advance meta-programming and homoiconicity.
If you take Python, and teach it using only its FP constructs, I think that is probably simpler to learn to a beginner.