Wybór języka

value-based classes

Minęło kolejne pół roku, pora na wdrożenie kolejnej wersji Javy™ na produkcji. Tym razem na pewno, bo to w końcu LTS. ;-) Zdaniem wielu “Java jest wolna”. Okazuje się, że rozwój Javy jest tak “wolny”, że kolejne wydania nie są tylko podbiciem wersji, bo mogą znacząco zmieniać reguły gry. To dobry powód na kolejny deep dive w Javie. Będzie mowa o: Pattern Matching for switch, Record Patterns, Virtual Threads, Simple Web server, co wyleciało i wyleci, i innych.
Java jest naprawdę świetna, gdy trzeba napisać program “Hello, World!” Jest również genialna dla wyrafinowanych systemów i algorytmów, pod warunkiem, że ich autorzy piszą kod, który przestrzega kilku dość prostych umów i unika oczywistych pułapek. Istnieje kilka mantr dotyczących najnowszych cech współczesnej Javy, takich jak: rekordy mogą wszędzie zastąpić JavaBeans nigdy nie musisz pisać hashCode() dla rekordów dopasowanie wzorca za pomocą instanceof jest najlepszym narzędziem dla equals() po prostu zignoruj --illegal-access lub ustaw go na permit synchronize (new Long(42)) jest najlepsze dla monitorowania i tak dalej.
Minęło kolejne pół roku, pora na wdrożenie kolejnej wersji Javy™ na produkcji. Tym razem na pewno, bo to w końcu LTS. ;-) Zdaniem wielu “Java jest wolna”. Okazuje się, że rozwój Javy jest tak “wolny”, że kolejne wydania nie są tylko podbiciem wersji, bo mogą znacząco zmieniać reguły gry. To dobry powód na kolejny deep dive w Javie. Była mowa o: –illegal-access=deny, Sealed Classes, dopasowaniu wzorców w switch, z czym się żegnamy i z czym będziemy się żegnać, i innych.
Wiele zmian, które obserwujemy w kolejnych wydaniach Javy (jeśli nie większość z nich), powstaje w ramach projektów grupujących / parasolowych. Często widzimy usprawnienia składni z projektu Amber, projekt Jigsaw przyniósł nam moduły, projekt Loom (uwaga, niespodzianka!) zajmuje się wątkami, projekt Panama, gerenalnie rzecz biorąc, jest o wydajnym i bezpiecznym wykorzystaniu metalu pod spodem. Spośród tych najbardziej znanych, projekt Valhalla też zaczyna do nas docierać, dzięki wydaniu JEPa-390 w ramach Javy 16.
Minęło kolejne pół roku, kolejne wydanie nowej wersji Javy™ za nami. Zdaniem wielu “Java jest wolna”. Okazuje się, że rozwój Javy jest tak “wolny”, że kolejne wydania nie są tylko podbiciem wersji, bo mogą znacząco zmieniać reguły gry. To dobry powód na kolejny deep dive w Javie. Będzie mowa o: Rekordach: gdzie i jak ich użyć (poza DTO/VO) dopasowaniu do wzorca z instanceof (zwane również smart casting) klasach zapieczętowanych (czyli nowym wymiarze widoczności typów) ostrzeżeniach z projektu Jigsaw (–illegal-access kontratakuje!

Wybór języka