Wybór języka

Wpisy

Na okoliczność wydania Javy 14 widziałem parę dyskusji przebiegających mniej więcej takim stylu: - O, rekordy w Javie, fajnie, w końcu mamy automatycznie generowane settery i gettery! - Nie, rekordy w Javie to POJOs bez setterów… - A, okay… Fajnie, w końcu mamy w Javie generowane Beany, ale bez setterów!
Java 14 przyniosła nam rekordy (ang. records) jako preview feature. Było (jest?) przy tym sporo zamieszania, deklaracji i ciężkich obelg miotanych w kierunku wrażych bibliotek i wtyczek do IDE. Pozwólcie mi dorzucić moje trzy grosze.
W pogoni za nietrywialnymi przykładami do zilustrowania zastosowań JEPa 305 niektóre osoby mogły zapędzić się za daleko. W szczególności w trudniejszy teren metody equals() obecnej w każdym obiekcie w Javie.
Java 14 zawiera wiele nowości. Jedną z nich (jako preview feature) jest dopasowywanie wzorców z instanceof (ang. pattern matching with instanceof). Ludzie programujący w językach wspierających paradygmat funkcyjny, np. w Scali, w Kotlinie (o Haskellu nie wspominając), w pierwszym odruchu widzą oczyma duszy swojej od razu piękne wyrażenie match / when, wyłuskiwanie danych, strażniki, dekonstruktory w obiektach stowarzyszonych itd.

Poniżej znajdziesz trochę kodu napisanego w Javie. Mam do Ciebie prośbę: postaraj się nie uruchamiać tego kodu, tylko zastanów się “na sucho”, co się stanie.