Add concept: Functional Programming

Hi everyone!

After completing over 40 exercises on the Java learning path, I’ve noticed a significant reliance on functional programming concepts in the “Dig Deeper” sections and community solutions. I believe introducing the concept of Functional Programming could greatly benefit users, especially those not familiar with it.

It could be great as well to break down functional programming into smaller topics:

  1. Functions
  2. Consumers
  3. Predicates
  4. Suppliers
  5. Streams
  6. Lambdas

I would like to hear some thoughts about this one!

a lot of useful information about the concept is in the api introduction, but it’s a bit hard to read

Well yeah, but if we think like that all the topics can be consulted from documentation. So that’s why introducing it with exercism could be more approachable.

I think it would be beneficial to have a “higher order functions” concept to cover functional interfaces, method references and lambdas (this was suggested @sanderploegsma in Looking for feedback on the Java track syllabus). It would be a prerequisite for streams and could include something about the functions, consumers, predicates and suppliers as examples of functional interfaces.