https://www.gravatar.com/avatar/306d401b2a8c0efe0996fec60e0c90aa?s=240&d=mp

My coding journey

Dzień dobry!

Mam na imię Kamila. Witam Cię serdecznie na stronie kamilachyla.com.

Znajdziesz tu garść moich notatek.

Piszę głównie o programowaniu (EN/PL): (Java, Python, Go, JavaScript), w wolnych chwilach bawię się sztuką generatywną (p5js) oraz piszę i ilustruję książeczki dla swoich dzieci.

Zapraszam!

Maven i projekt wielomodułowy - moduły Javy

Dziś zastanawiam się, czym jest moduł (jaki moduł? javowy? mavenowy? IDE-owy?) i próbuję przekształcić projekt modularny, który utworzyłam na potrzeby wpisu o Javie 9 i budowałam używając make w projekt budowany i uruchamiany przy użyciu Mavena. Moduły Javy, moduły Mavena, moduły w IDE Zanim w Javie 9 zostały prowadzone moduły, programiści znali już pojęcie modułu z innych kontekstów. Używali modułów w IntellijIdea, używali modułów w Mavenie. A teraz doszły jeszcze moduły w Javie.

Java 15 - czym są sealed classes?

W wydaniu 15 Javy pojawiła się interesująca nowość - klasy sealed, czyli klasy zaplombowane czy może zamknięte. “Nareszcie!” - pomyślałam. To jeden z tych egzotycznych smaków, które od dawna posiadała Scala. Sealed classes są też w Ceylonie, Kotlinie, Haskellu. Do Javy trafią pewnie dopiero w kolejnej wersji LTS, czyli w siedemnastce planowanej na wrzesień tego roku. Zarówno w wydaniu 15. jak i 16. są w fazie preview. Czym dokładnie są klasy sealed?

Nowy motyw

Nowy motyw na blogu Wiem, wiem. Powninien być konkret. Niestety, dziś tylko ogłoszenie: Zmieniam motyw bloga z hyde na lanyon. Przyczyny? Hyde nie generuje tagów OpenGraph, a lanyon - owszem. Wydaje mi się, że mam więcej przestrzeni. Lanyon jest bardziej skoncenrowany na tekście wpisu, nawigacja jest ukryta. Zobaczymy, jak się sprawdzi w praktyce. Update Wpis dotyczy motywu dla statycznego generatora stron Nikola, którego używałam aż do lipca 2021. Wtedy zaczęłam używać Hugo i motywu LoveIt

Java 13 i 14: Bloki tekstowe i rekordy

Java 13 nie wprowadza zbyt wielu zmian do samego języka. Wyrażenia switch wiciąż są w fazie preview; w tej wersji wylądowało wyrażenie yield służące do zwracania wartości z gałęzi case, a wcześniejsza propozycja używała słowa kluczowego break (patrz: Java 12 - wyrażenie switch). Dopiero Java 14 wprowadza interesujące dodatki (obydwa w fazie preview): bloki tekstowe (JEP-355) i rekordy (JEP-359). Oraz kilka pomniejszych zmian. Lista zmian w języku w wydaniach 13 i 14 Zmiany w Java 13 Zmiany w języku w wersji 13:

Java 12 - wyrażenie switch (preview feature)

Poniższy post stanowi luźny przegląd dokumentaji JEP-361 Switch expressions, wprowadzonych ostatecznie w javie 14. Nowości w języku Status “preview feature” Java 12 wprowadza wyrażenie switch jako ulepszoną alternatywę dla istniejącej od zarania dziejów instrukcji switch. Jest to nowość dostępna jako preview feature, co oznacza, że jej użycie w kodzie kompilowanym jako --source 12 wymaga podania opcji --enable-preview zarówno do kompilatora jak i launchera. Na przykład, aby skompilować Simple.java pod jdk 12, należy użyć polecenia: