Co nieco o programowaniu funkcyjnym.
Czy możliwe jest całkowite usunięcie ze swojego kodu wyrażeń typu if / else, for, while, do while? Wydaje się to niemożliwe, bo wielu programistów nauczyło się, że podejmowanie decyzji to podstawowy element budowania każdego programu.
Wraz z wydaniem Javy 8 pojawiło się nieco funkcjonalności funkcyjnych i jeśli programujesz w tym języku, zapewne znasz interfejsy z pakietu java.util.function takie jak choćby: Function, Supplier, czy Consumer.
Aby obsłużyć dane opcjonalne, wprowadzono w Javie 8 klasę Optional. Ale jak można byłoby ją zaimplementować lepiej?