Functional programming

Hi all, I’m new to Exercism and I’m looking for a ‘sub-track’ that looks specifically at functional programming in Java. Is there such a thing?

Hi!

Could you please elaborate on what you mean by a sub-track about functional programming in Java?

I am quite sure that nothing like that exists explicitly, but maybe it exists implicitly, or else we might be able to think up something else that is similarly useful.

it references to use of “Java 8 streams” like

java.util.stream.
Stream.of(
  "apple", "oranges", "ananas",
  "pear", "banana")
  .filter(s -> s.startsWith("a") )
  .map( String::toUpperCase)
  .sorted()
  .forEach(System.out::println);

or using lamda expressions like

java.util.function.DoubleUnaryOperator
area = r -> Math.PI *r *r;
System.out.println( 
  area.applyAsDouble(10.0) );

Hi @angus-rose,

You might want to take a closer look at Kotlin.

It is a separate language fully interoperable with Java, meaning that you can reuse any Java code and utilize all Java libraries. Kotlin has terrific support for functional programming style, but does not enforce it for those who prefer procedural over declarative programming. Rather it is encouraged. The motivations behind the development of Kotlin was to addressed the challenges and limitations of Java, so it can be thought of (although it technically isn’t) a superset of Java.

It’s like if Java and Rust had a baby.