{"id":13334,"date":"2022-12-22T13:55:46","date_gmt":"2022-12-22T12:55:46","guid":{"rendered":"https:\/\/vived.io\/?p=13334"},"modified":"2022-12-22T15:05:44","modified_gmt":"2022-12-22T14:05:44","slug":"jak-trudnym-dla-programistow-javy-jezykiem-jest-go-jvm-weekly-118","status":"publish","type":"post","link":"https:\/\/vived.io\/pl\/jak-trudnym-dla-programistow-javy-jezykiem-jest-go-jvm-weekly-118\/","title":{"rendered":"Jak trudnym dla programist\u00f3w Javy j\u0119zykiem jest Go?  &#8211; JVM Weekly #118"},"content":{"rendered":"\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"683\" src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/12\/ArturSkowronski_go_vs_java_737fdee7-1b41-4936-a53b-f48cd428d0ac-1-1024x683.png\" alt=\"\" class=\"wp-image-13355\" srcset=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/12\/ArturSkowronski_go_vs_java_737fdee7-1b41-4936-a53b-f48cd428d0ac-1-1024x683.png 1024w, https:\/\/vived.io\/wp-content\/uploads\/2022\/12\/ArturSkowronski_go_vs_java_737fdee7-1b41-4936-a53b-f48cd428d0ac-1-300x200.png 300w, https:\/\/vived.io\/wp-content\/uploads\/2022\/12\/ArturSkowronski_go_vs_java_737fdee7-1b41-4936-a53b-f48cd428d0ac-1-768x512.png 768w, https:\/\/vived.io\/wp-content\/uploads\/2022\/12\/ArturSkowronski_go_vs_java_737fdee7-1b41-4936-a53b-f48cd428d0ac-1.png 1536w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h2 id=\"1-czy-latwo-jest-przejsc-z-javy-na-go\" data-num=1>1. Czy \u0142atwo jest przej\u015b\u0107 z Javy na Go?<\/h2>\n\n\n\n<p>Jak co roku bawi\u0119 si\u0119 w Advent of Code (i jak co roku troch\u0119 wysiadam przy ko\u0144c\u00f3wce zaraz przed \u015bwi\u0119tami, z mocnym postanowieniem nadrobienia w okresie po\u015bwi\u0105tecznym). W tym roku postanowi\u0142em sobie zrobi\u0107 dodatkowy challenge i zacz\u0105\u0142em uczy\u0107 si\u0119 GoLanga r\u00f3wnolegle z rozwi\u0105zywaniem w nim zada\u0144. Bior\u0105c pod uwag\u0119, \u017ce &#8211; jak ju\u017c wspomnia\u0142em &#8211; nawet pisz\u0105c w Kotlinie, kt\u00f3rego dobrze znam zwyk\u0142e &#8222;\u0142api\u0119 ty\u0142y&#8221; by\u0142o to nieco zbyt ambitne postanowienie i do\u015b\u0107 szybko wymi\u0119k\u0142em, ale dzi\u0119ki temu \u0142ykn\u0105\u0142em troch\u0119 Go. Nawet mia\u0142em si\u0119 podzieli\u0107 z Wami swoimi przemy\u015bleniami w tym temacie, ale okaza\u0142o si\u0119, \u017ce Christopher Berger stworzy\u0142 tekst kt\u00f3ry bardzo dobrze oddaje to, co chcia\u0142bym si\u0119 dowiedzie\u0107 siadaj\u0105c do tego j\u0119zyka z perspektywy JVM-owca.<\/p>\n\n\n\n<p>Z <a href=\"https:\/\/appliedgo.com\/blog\/from-java-to-go\">Moving from Java to Go? What you need to know<\/a> dowiecie si\u0119 wi\u0119c, jaka filozofia j\u0119zyka (jako suplement polecam tu te\u017c oficjalne <a href=\"https:\/\/go.dev\/doc\/faq\">FAQ j\u0119zyka<\/a> &#8211; d\u0142ugie acz tre\u015bciwe bardzo), jak nale\u017cy my\u015ble\u0107 o jego wsp\u00f3\u0142bie\u017cno\u015bci oraz specyfice paradygmatu j\u0119zyka, kt\u00f3ry jest do\u015b\u0107 ulotny i trudny do uchwycenia (ni to obiektowy, ni to funkcyjny, ni to proceduralny). A je\u015bli ostatecznie b\u0119dziecie potrzebowali jeszcze wi\u0119cej, to jest te\u017c kurs <a href=\"https:\/\/java2go.dev\/\">java2go.dev<\/a>, kt\u00f3ry mnie ostatecznie wyja\u015bni\u0142 bardzo du\u017co rzeczy i sprawi\u0142, \u017ce mimo pocz\u0105tkowej pora\u017cki prawdopodobnie zrobi\u0119 sobie jeszcze jedno podej\u015bcie do GoLanga.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"420\" height=\"294\" src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/12\/image-41.png\" alt=\"\" class=\"wp-image-13344\" srcset=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/12\/image-41.png 420w, https:\/\/vived.io\/wp-content\/uploads\/2022\/12\/image-41-300x210.png 300w\" sizes=\"auto, (max-width: 420px) 100vw, 420px\" \/><figcaption>To tak, jakby kto\u015b chcia\u0142 dorzuci\u0107 co\u015b sobie do listy postanowie\u0144 noworocznych.<\/figcaption><\/figure><\/div>\n\n\n<p>To ja tak od siebie dorzuc\u0119 jeszcze jedn\u0105 bibliotek\u0119, kt\u00f3ra dla mnie osobi\u015bcie by\u0142a sporym gamechangerem i pozwoli\u0142a mi \u0142atwiej prototypowa\u0107 rozwi\u0105zania w Go. Jest to <a href=\"https:\/\/github.com\/kamstrup\/fn\">kamstrup\/fn<\/a>, kt\u00f3ra jak sam autor pisze &#8222;by\u0142a zainspirowana Clojure i Java Streams APIs i dostarczona w podobnym duchu, co sprawi, \u017ce pisanie kodu Go b\u0119dzie jeszcze przyjemniejsze.&#8221;. Podpisuje si\u0119 pod powy\u017cszym obiema r\u0119kami i niech nie zwiedzie Was tylko gwiazdek &#8211; m\u00f3j m\u00f3zg dzi\u0119ki do\u0142o\u017ceniu <strong>fn<\/strong> do projektu sta\u0142 si\u0119 du\u017co kompatybilniejszy z Go, co pomog\u0142o mi zacz\u0105\u0107 pisa\u0107 (na razie ciut) bardziej idiomatycznie.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/12\/image-40-1024x529.png\" alt=\"\" class=\"wp-image-13342\" width=\"512\" height=\"265\" srcset=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/12\/image-40-1024x529.png 1024w, https:\/\/vived.io\/wp-content\/uploads\/2022\/12\/image-40-300x155.png 300w, https:\/\/vived.io\/wp-content\/uploads\/2022\/12\/image-40-768x397.png 768w, https:\/\/vived.io\/wp-content\/uploads\/2022\/12\/image-40.png 1200w\" sizes=\"auto, (max-width: 512px) 100vw, 512px\" \/><figcaption>Programi\u015bci Go takich bibliotek pewnie nienawidz\u0105, ale c\u00f3\u017c zrobi\u0107.<\/figcaption><\/figure><\/div>\n\n\n<p>Kto\u015b si\u0119 bawi\u0142 w tym roku Advent of Code? Je\u015bli tak, to macie jeszcze ostatni\u0105 szans\u0119 przy\u0142\u0105czy\u0107 si\u0119 do naszej <a href=\"https:\/\/www.facebook.com\/groups\/223069906571427\">grupy facebookowej<\/a> i <a href=\"https:\/\/adventofcode.com\/2022\/leaderboard\/private\">leaderboarda<\/a> (join code: 2276325-be92402e), zanim ca\u0142a zabawa si\u0119 zako\u0144czy \ud83c\udf84.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u0179r\u00f3d\u0142a<\/h3>\n\n\n\n<ul class=\"wp-block-list\"><li><a href=\"https:\/\/appliedgo.com\/blog\/from-java-to-go\">Moving from Java to Go? What you need to know<\/a><\/li><li><a href=\"https:\/\/java2go.dev\/\">java2go.dev<\/a><\/li><li><a href=\"https:\/\/github.com\/kamstrup\/fn\">kamstrup\/fn<\/a><\/li><li><a href=\"https:\/\/go.dev\/doc\/faq\">GoLang FAQ<\/a><\/li><\/ul>\n\n\n\n<h2 id=\"2-jak-cdi-4-0-lite-wpisuje-sie-w-ostatnie-trendy-jdk\" data-num=2>2. Jak CDI 4.0 Lite wpisuje si\u0119 w ostatnie trendy JDK<\/h2>\n\n\n\n<p>Ale ostatnio wszyscy walcz\u0105 z tym wolnym wstawaniem aplikacji Javowych. Mieli\u015bmy dopiero co AWS Lambda SnapStart, bazuj\u0105cy na CRaC, a wcze\u015bniej przy okazji zapowiedzi wcielenia GraalVM o sporo m\u00f3wi\u0142o si\u0119 o projekcie Leyden. Okazuje si\u0119, \u017ce r\u00f3wnie\u017c w \u015bwiecie Jakarta EE te\u017c dziej\u0105 si\u0119 ruchy w tym kierunku.<\/p>\n\n\n\n<p>Wraz z Core Profile wprowadzonym w Jakarta EE 10 pojawi\u0142 si\u0119 byt znany jako CDI Lite. Jest to nowy wariant jakartowego kontenera wstrzykiwania zale\u017cno\u015bci, tym razem posiadaj\u0105cy do\u015b\u0107 interesuj\u0105cy twist. W wypadku uruchamiania aplikacji bazuj\u0105cych na oryginalnym CDI niezb\u0119dne jest przeskanowanie ca\u0142ego codebase przy uruchomieniu, wynikaj\u0105ce z potrzeby zlokalizowania wszystkich wariant\u00f3w danej dependencji. CDI Lite wprowadza <code>BuildCompatibleExtension<\/code>, umo\u017cliwiaj\u0105ce takich operacji jak walidacje czy rozszerzanie bean\u00f3w jeszcze na poziomie budowania, zanim ca\u0142o\u015b\u0107 zostanie odpalona w runtime.<\/p>\n\n\n\n<p>Oczywi\u015bcie, nie ma nic za darmo i migracja do nowego wariantu nie jest tak ca\u0142kiem bezproblemowa. Je\u015bli jednak chcecie spr\u00f3bowa\u0107 jak wygl\u0105da CDI id\u0105cy z duchem JVM, <a href=\"https:\/\/www.atbash.be\/2022\/12\/07\/cdi-4-0-lite-and-potential-pitfalls\/\">CDI 4.0 Lite and Potential Pitfalls<\/a> wprowadzi Was zar\u00f3wno w sam koncept jak i podkre\u015bli, na co warto uwa\u017ca\u0107. Dobr\u0105 analiz\u0119 jeszcze przed premier\u0105 samego standardu <a href=\"https:\/\/www.theserverside.com\/blog\/Coffee-Talk-Java-News-Stories-and-Opinions\/CDI-Full-vs-CDI-Lite-What-changed-in-Contexts-and-Dependency-Injection-40\">wypu\u015bci\u0142 TheServerSide<\/a>, gdzie dokonali oni por\u00f3wnania mi\u0119dzy r\u00f3\u017cnymi wersjami CDI.<\/p>\n\n\n\n<p>PS1: ostatnio <a href=\"https:\/\/github.com\/eclipse-ee4j\/glassfish\/releases\/tag\/7.0.0\">premier\u0119 swoj\u0105 mia\u0142 nowy GlassFish w wersji 7.0<\/a>. Zawiera on pe\u0142ne wsparcie dla API Jakarta EE 10.<\/p>\n\n\n\n<p>PS2: Wracaj\u0105c troch\u0119 do tematu Project Galahad, o kt\u00f3rym pisa\u0142em ostatnio &#8211; <a href=\"https:\/\/medium.com\/graalvm\/graalvm-galahad-and-a-new-release-schedule-d081d1031bba\">GraalVM (jako ca\u0142o\u015b\u0107) zapowiedzia\u0142 zmiany w swoim cyklu wydawniczym<\/a>. Nie tylko wi\u0119c javowa cz\u0119\u015b\u0107 GraalVM CE b\u0119dzie zsynchronizowana z wydaniami Javy, ale czeka to r\u00f3wnie\u017c ca\u0142y projekt. Nowe wydania zar\u00f3wno Community, jak i Enterprise Edition b\u0119d\u0105 pojawia\u0142y si\u0119 wi\u0119c co sze\u015b\u0107 miesi\u0119cy, wraz z kolejnymi edycjami JDK.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u0179r\u00f3d\u0142a<\/h3>\n\n\n\n<ul class=\"wp-block-list\"><li><a href=\"https:\/\/www.theserverside.com\/blog\/Coffee-Talk-Java-News-Stories-and-Opinions\/CDI-Full-vs-CDI-Lite-What-changed-in-Contexts-and-Dependency-Injection-40\">CDI Full vs CDI Lite: What&#8217;s new in Contexts and Dependency Injection 4.0<\/a><\/li><li><a href=\"https:\/\/www.atbash.be\/2022\/12\/07\/cdi-4-0-lite-and-potential-pitfalls\/\">CDI 4.0 Lite and Potential Pitfalls<\/a><\/li><li><a href=\"https:\/\/medium.com\/graalvm\/graalvm-galahad-and-a-new-release-schedule-d081d1031bba\">GraalVM, Galahad, and a New Release Schedule<\/a><\/li><li><a href=\"https:\/\/github.com\/eclipse-ee4j\/glassfish\/releases\/tag\/7.0.0\">GlassFish 7.0 Released<\/a><\/li><\/ul>\n\n\n\n<h2 id=\"bonus-nasz-ulubiony-serial-java-umiera-odcinek-2137\" data-num=3>Bonus: Nasz ulubiony serial &#8211; Java Umiera: odcinek 2137<\/h2>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/12\/image-42-1024x853.png\" alt=\"\" class=\"wp-image-13347\" width=\"512\" height=\"427\" srcset=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/12\/image-42-1024x853.png 1024w, https:\/\/vived.io\/wp-content\/uploads\/2022\/12\/image-42-300x250.png 300w, https:\/\/vived.io\/wp-content\/uploads\/2022\/12\/image-42-768x640.png 768w, https:\/\/vived.io\/wp-content\/uploads\/2022\/12\/image-42.png 1200w\" sizes=\"auto, (max-width: 512px) 100vw, 512px\" \/><figcaption><a href=\"https:\/\/dzone.com\/articles\/big-numbers-comic\">\u0179r\u00f3d\u0142o<\/a><\/figcaption><\/figure><\/div>\n\n\n<p>To tak ju\u017c zupe\u0142nie na koniec, jako \u017ce zacz\u0119li\u015bmy od przechodzenia na GoLang, to chc\u0105cy sobie &#8222;zracjonalizowa\u0107&#8221; tak\u0105 decyzj\u0119 powinni zerkn\u0105\u0107 do najnowszego odczytu TIOBE. Po raz pierwszy (a przynajmniej po raz pierwszy od baaaardzo dawna) <a href=\"https:\/\/www.infoworld.com\/article\/3682141\/c-plus-plus-overtakes-java-in-language-popularity-index.html\">Java wylecia\u0142a spoza pierwszej tr\u00f3jki<\/a>, gdzie zosta\u0142 zast\u0105piony przez C++. Indeks Tiobe szereguje j\u0119zyki na podstawie wyszukiwa\u0144 w Google, Bing, Yahoo i innych \u017ar\u00f3d\u0142ach &#8211; oznacza to wi\u0119c, \u017ce Java zacz\u0119\u0142a by\u0107 rzadziej wyszukiwana.<\/p>\n\n\n\n<p>Puszczam to bardziej jako ciekawostk\u0119, nie musz\u0119 chyba bowiem \u017cadnego czytelnika tych przegl\u0105d\u00f3w przekonywa\u0107, \u017ce Java ma w sobie jeszcze wiele wigoru i werwy, wi\u0119c pewnie nie czas jej jeszcze umiera\u0107. I o ile o oferty w pe\u0142ni zdalne nie jest w Javie tak \u0142atwo jak cho\u0107by w po raz kolejny przywo\u0142ywanym GoLangu, to jednak Java pozostaje niesamowicie p\u0142odnym ekosystemem. Zreszt\u0105 dopiero co w <a href=\"https:\/\/vived.io\/pride-walks-before-a-fall-will-rust-survive-software-craftsmanship-weekly-116\/\">sobotnich przegl\u0105dach pisa\u0142em<\/a> o pu\u0142apkach, w jakie \u0142atwo wpa\u015b\u0107 mog\u0105 &#8222;modne&#8221; j\u0119zyki &#8211; akurat na przyk\u0142adzie Rusta. Polecam lektur\u0119 oryginalnej publikacji <a href=\"https:\/\/gist.github.com\/graninas\/22ab535d2913311e47a742c70f1d2f2b\">What killed Haskell, could kill Rust, too<\/a>, napisanej w oryginalnej formule Futurospektywy.<\/p>\n\n\n\n<p>A tak na pokrzepienie serc &#8211; Head of Engineering Picnic, holenderska aplikacja do dowozu zakup\u00f3w, podzieli\u0142 si\u0119 <a href=\"https:\/\/blog.picnic.nl\/why-picnic-picked-java-e53fafe0df1b\">powodami dla kt\u00f3rych zdecydowali si\u0119 wej\u015b\u0107 w &#8222;umieraj\u0105c\u0105&#8221; Jav\u0119<\/a>. Ca\u0142o\u015b\u0107 dyskusji prowadzona jest raczej w opozycji do Kotlina i Node.js, ale wi\u0119kszo\u015b\u0107 argument\u00f3w jest zasadna.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u0179r\u00f3d\u0142a<\/h3>\n\n\n\n<ul class=\"wp-block-list\"><li><a href=\"https:\/\/www.infoworld.com\/article\/3682141\/c-plus-plus-overtakes-java-in-language-popularity-index.html\">C++ overtakes Java in language popularity index<\/a><\/li><li><a href=\"https:\/\/gist.github.com\/graninas\/22ab535d2913311e47a742c70f1d2f2b\">What killed Haskell, could kill Rust, too<\/a><\/li><li><a href=\"https:\/\/blog.picnic.nl\/why-picnic-picked-java-e53fafe0df1b\">Why Picnic picked Java<\/a><\/li><\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p>No dobra, to teraz weso\u0142ych \u015bwi\u0105t! I widzimy si\u0119 ju\u017c w Nowym Roku!<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"600\" height=\"450\" src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/12\/image-39.png\" alt=\"\" class=\"wp-image-13338\" srcset=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/12\/image-39.png 600w, https:\/\/vived.io\/wp-content\/uploads\/2022\/12\/image-39-300x225.png 300w\" sizes=\"auto, (max-width: 600px) 100vw, 600px\" \/><figcaption>Zawsze chcia\u0142em mie\u0107 takie \u015bwi\u0105teczne dekoracje \u2764\ufe0f <br>Ale nie przy tych rachunkach za pr\u0105d&#8230;<\/figcaption><\/figure><\/div>","protected":false},"excerpt":{"rendered":"<p>Cze\u015b\u0107, w ostatnim w tym roku  wydaniu porozmawiamy sobie, na ile Go jest interesuj\u0105c\u0105 alternatyw\u0105 dla programist\u00f3w Javy w obliczu \u015amierciJavy\u2122\ufe0f. Opr\u00f3cz tego b\u0119dzie CDI 4.0 w wersji Lite.<\/p>\n","protected":false},"author":10,"featured_media":13353,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[259,1],"tags":[],"class_list":["post-13334","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-jvm-pl","category-no-category"],"acf":{"estimated_reading_time":"5","feature_image_blog":{"ID":13355,"id":13355,"title":"ArturSkowronski_go_vs_java_737fdee7-1b41-4936-a53b-f48cd428d0ac-1","filename":"ArturSkowronski_go_vs_java_737fdee7-1b41-4936-a53b-f48cd428d0ac-1.png","filesize":1712087,"url":"https:\/\/vived.io\/wp-content\/uploads\/2022\/12\/ArturSkowronski_go_vs_java_737fdee7-1b41-4936-a53b-f48cd428d0ac-1.png","link":"https:\/\/vived.io\/pl\/jak-trudnym-dla-programistow-javy-jezykiem-jest-go-jvm-weekly-118\/arturskowronski_go_vs_java_737fdee7-1b41-4936-a53b-f48cd428d0ac-1\/","alt":"","author":"10","description":"","caption":"","name":"arturskowronski_go_vs_java_737fdee7-1b41-4936-a53b-f48cd428d0ac-1","status":"inherit","uploaded_to":13334,"date":"2022-12-22 12:53:01","modified":"2022-12-22 12:53:01","menu_order":0,"mime_type":"image\/png","type":"image","subtype":"png","icon":"https:\/\/vived.io\/wp-includes\/images\/media\/default.png","width":1536,"height":1024,"sizes":{"thumbnail":"https:\/\/vived.io\/wp-content\/uploads\/2022\/12\/ArturSkowronski_go_vs_java_737fdee7-1b41-4936-a53b-f48cd428d0ac-1-150x150.png","thumbnail-width":150,"thumbnail-height":150,"medium":"https:\/\/vived.io\/wp-content\/uploads\/2022\/12\/ArturSkowronski_go_vs_java_737fdee7-1b41-4936-a53b-f48cd428d0ac-1-300x200.png","medium-width":300,"medium-height":200,"medium_large":"https:\/\/vived.io\/wp-content\/uploads\/2022\/12\/ArturSkowronski_go_vs_java_737fdee7-1b41-4936-a53b-f48cd428d0ac-1-768x512.png","medium_large-width":768,"medium_large-height":512,"large":"https:\/\/vived.io\/wp-content\/uploads\/2022\/12\/ArturSkowronski_go_vs_java_737fdee7-1b41-4936-a53b-f48cd428d0ac-1-1024x683.png","large-width":1024,"large-height":683,"1536x1536":"https:\/\/vived.io\/wp-content\/uploads\/2022\/12\/ArturSkowronski_go_vs_java_737fdee7-1b41-4936-a53b-f48cd428d0ac-1.png","1536x1536-width":1536,"1536x1536-height":1024,"2048x2048":"https:\/\/vived.io\/wp-content\/uploads\/2022\/12\/ArturSkowronski_go_vs_java_737fdee7-1b41-4936-a53b-f48cd428d0ac-1.png","2048x2048-width":1536,"2048x2048-height":1024,"gform-image-choice-sm":"https:\/\/vived.io\/wp-content\/uploads\/2022\/12\/ArturSkowronski_go_vs_java_737fdee7-1b41-4936-a53b-f48cd428d0ac-1.png","gform-image-choice-sm-width":300,"gform-image-choice-sm-height":200,"gform-image-choice-md":"https:\/\/vived.io\/wp-content\/uploads\/2022\/12\/ArturSkowronski_go_vs_java_737fdee7-1b41-4936-a53b-f48cd428d0ac-1.png","gform-image-choice-md-width":400,"gform-image-choice-md-height":267,"gform-image-choice-lg":"https:\/\/vived.io\/wp-content\/uploads\/2022\/12\/ArturSkowronski_go_vs_java_737fdee7-1b41-4936-a53b-f48cd428d0ac-1.png","gform-image-choice-lg-width":600,"gform-image-choice-lg-height":400}},"weekly_summary":true,"push_notification_image":"https:\/\/vived.io\/wp-content\/uploads\/2022\/12\/JVM-Weekly-1200x628_V2-4.png","feature_image_visible":true},"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.0 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Jak trudnym dla programist\u00f3w Javy j\u0119zykiem jest Go? - JVM Weekly #118 - Vived<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/vived.io\/pl\/jak-trudnym-dla-programistow-javy-jezykiem-jest-go-jvm-weekly-118\/\" \/>\n<meta property=\"og:locale\" content=\"pl_PL\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Jak trudnym dla programist\u00f3w Javy j\u0119zykiem jest Go? - JVM Weekly #118 - Vived\" \/>\n<meta property=\"og:description\" content=\"Cze\u015b\u0107, w ostatnim w tym roku wydaniu porozmawiamy sobie, na ile Go jest interesuj\u0105c\u0105 alternatyw\u0105 dla programist\u00f3w Javy w obliczu \u015amierciJavy\u2122\ufe0f. Opr\u00f3cz tego b\u0119dzie CDI 4.0 w wersji Lite.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/vived.io\/pl\/jak-trudnym-dla-programistow-javy-jezykiem-jest-go-jvm-weekly-118\/\" \/>\n<meta property=\"og:site_name\" content=\"Vived\" \/>\n<meta property=\"article:published_time\" content=\"2022-12-22T12:55:46+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2022-12-22T14:05:44+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/12\/JVM-Weekly-1200x628_V2-4.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"628\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Artur Skowro\u0144ski\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/vived.io\/pl\/jak-trudnym-dla-programistow-javy-jezykiem-jest-go-jvm-weekly-118\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/vived.io\/pl\/jak-trudnym-dla-programistow-javy-jezykiem-jest-go-jvm-weekly-118\/\"},\"author\":{\"name\":\"Artur Skowro\u0144ski\",\"@id\":\"https:\/\/vived.io\/pl\/#\/schema\/person\/0eb0878110cb27edfbfe46e841fe6db3\"},\"headline\":\"Jak trudnym dla programist\u00f3w Javy j\u0119zykiem jest Go? &#8211; JVM Weekly #118\",\"datePublished\":\"2022-12-22T12:55:46+00:00\",\"dateModified\":\"2022-12-22T14:05:44+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/vived.io\/pl\/jak-trudnym-dla-programistow-javy-jezykiem-jest-go-jvm-weekly-118\/\"},\"wordCount\":1111,\"publisher\":{\"@id\":\"https:\/\/vived.io\/pl\/#organization\"},\"image\":{\"@id\":\"https:\/\/vived.io\/pl\/jak-trudnym-dla-programistow-javy-jezykiem-jest-go-jvm-weekly-118\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/vived.io\/wp-content\/uploads\/2022\/12\/JVM-Weekly-1200x628_V2-4.png\",\"articleSection\":[\"JVM\",\"No category\"],\"inLanguage\":\"pl-PL\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/vived.io\/pl\/jak-trudnym-dla-programistow-javy-jezykiem-jest-go-jvm-weekly-118\/\",\"url\":\"https:\/\/vived.io\/pl\/jak-trudnym-dla-programistow-javy-jezykiem-jest-go-jvm-weekly-118\/\",\"name\":\"Jak trudnym dla programist\u00f3w Javy j\u0119zykiem jest Go? - JVM Weekly #118 - Vived\",\"isPartOf\":{\"@id\":\"https:\/\/vived.io\/pl\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/vived.io\/pl\/jak-trudnym-dla-programistow-javy-jezykiem-jest-go-jvm-weekly-118\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/vived.io\/pl\/jak-trudnym-dla-programistow-javy-jezykiem-jest-go-jvm-weekly-118\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/vived.io\/wp-content\/uploads\/2022\/12\/JVM-Weekly-1200x628_V2-4.png\",\"datePublished\":\"2022-12-22T12:55:46+00:00\",\"dateModified\":\"2022-12-22T14:05:44+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/vived.io\/pl\/jak-trudnym-dla-programistow-javy-jezykiem-jest-go-jvm-weekly-118\/#breadcrumb\"},\"inLanguage\":\"pl-PL\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/vived.io\/pl\/jak-trudnym-dla-programistow-javy-jezykiem-jest-go-jvm-weekly-118\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pl-PL\",\"@id\":\"https:\/\/vived.io\/pl\/jak-trudnym-dla-programistow-javy-jezykiem-jest-go-jvm-weekly-118\/#primaryimage\",\"url\":\"https:\/\/vived.io\/wp-content\/uploads\/2022\/12\/JVM-Weekly-1200x628_V2-4.png\",\"contentUrl\":\"https:\/\/vived.io\/wp-content\/uploads\/2022\/12\/JVM-Weekly-1200x628_V2-4.png\",\"width\":1200,\"height\":628},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/vived.io\/pl\/jak-trudnym-dla-programistow-javy-jezykiem-jest-go-jvm-weekly-118\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Strona g\u0142\u00f3wna\",\"item\":\"https:\/\/vived.io\/pl\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Jak trudnym dla programist\u00f3w Javy j\u0119zykiem jest Go? &#8211; JVM Weekly #118\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/vived.io\/pl\/#website\",\"url\":\"https:\/\/vived.io\/pl\/\",\"name\":\"Vived\",\"description\":\"platform empowering IT people and technology companies to synergic growth\",\"publisher\":{\"@id\":\"https:\/\/vived.io\/pl\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/vived.io\/pl\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"pl-PL\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/vived.io\/pl\/#organization\",\"name\":\"Vived\",\"url\":\"https:\/\/vived.io\/pl\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pl-PL\",\"@id\":\"https:\/\/vived.io\/pl\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/vived.io\/wp-content\/uploads\/2020\/03\/logo_vived_color.png\",\"contentUrl\":\"https:\/\/vived.io\/wp-content\/uploads\/2020\/03\/logo_vived_color.png\",\"width\":136,\"height\":45,\"caption\":\"Vived\"},\"image\":{\"@id\":\"https:\/\/vived.io\/pl\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/vived.io\/pl\/#\/schema\/person\/0eb0878110cb27edfbfe46e841fe6db3\",\"name\":\"Artur Skowro\u0144ski\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pl-PL\",\"@id\":\"https:\/\/vived.io\/pl\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/29055786486c8b9dc1507f2744221c5bdb8d7ef6e6217ced0326dd3296aea6ed?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/29055786486c8b9dc1507f2744221c5bdb8d7ef6e6217ced0326dd3296aea6ed?s=96&d=mm&r=g\",\"caption\":\"Artur Skowro\u0144ski\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Jak trudnym dla programist\u00f3w Javy j\u0119zykiem jest Go? - JVM Weekly #118 - Vived","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/vived.io\/pl\/jak-trudnym-dla-programistow-javy-jezykiem-jest-go-jvm-weekly-118\/","og_locale":"pl_PL","og_type":"article","og_title":"Jak trudnym dla programist\u00f3w Javy j\u0119zykiem jest Go? - JVM Weekly #118 - Vived","og_description":"Cze\u015b\u0107, w ostatnim w tym roku wydaniu porozmawiamy sobie, na ile Go jest interesuj\u0105c\u0105 alternatyw\u0105 dla programist\u00f3w Javy w obliczu \u015amierciJavy\u2122\ufe0f. Opr\u00f3cz tego b\u0119dzie CDI 4.0 w wersji Lite.","og_url":"https:\/\/vived.io\/pl\/jak-trudnym-dla-programistow-javy-jezykiem-jest-go-jvm-weekly-118\/","og_site_name":"Vived","article_published_time":"2022-12-22T12:55:46+00:00","article_modified_time":"2022-12-22T14:05:44+00:00","og_image":[{"width":1200,"height":628,"url":"https:\/\/vived.io\/wp-content\/uploads\/2022\/12\/JVM-Weekly-1200x628_V2-4.png","type":"image\/png"}],"author":"Artur Skowro\u0144ski","twitter_card":"summary_large_image","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/vived.io\/pl\/jak-trudnym-dla-programistow-javy-jezykiem-jest-go-jvm-weekly-118\/#article","isPartOf":{"@id":"https:\/\/vived.io\/pl\/jak-trudnym-dla-programistow-javy-jezykiem-jest-go-jvm-weekly-118\/"},"author":{"name":"Artur Skowro\u0144ski","@id":"https:\/\/vived.io\/pl\/#\/schema\/person\/0eb0878110cb27edfbfe46e841fe6db3"},"headline":"Jak trudnym dla programist\u00f3w Javy j\u0119zykiem jest Go? &#8211; JVM Weekly #118","datePublished":"2022-12-22T12:55:46+00:00","dateModified":"2022-12-22T14:05:44+00:00","mainEntityOfPage":{"@id":"https:\/\/vived.io\/pl\/jak-trudnym-dla-programistow-javy-jezykiem-jest-go-jvm-weekly-118\/"},"wordCount":1111,"publisher":{"@id":"https:\/\/vived.io\/pl\/#organization"},"image":{"@id":"https:\/\/vived.io\/pl\/jak-trudnym-dla-programistow-javy-jezykiem-jest-go-jvm-weekly-118\/#primaryimage"},"thumbnailUrl":"https:\/\/vived.io\/wp-content\/uploads\/2022\/12\/JVM-Weekly-1200x628_V2-4.png","articleSection":["JVM","No category"],"inLanguage":"pl-PL"},{"@type":"WebPage","@id":"https:\/\/vived.io\/pl\/jak-trudnym-dla-programistow-javy-jezykiem-jest-go-jvm-weekly-118\/","url":"https:\/\/vived.io\/pl\/jak-trudnym-dla-programistow-javy-jezykiem-jest-go-jvm-weekly-118\/","name":"Jak trudnym dla programist\u00f3w Javy j\u0119zykiem jest Go? - JVM Weekly #118 - Vived","isPartOf":{"@id":"https:\/\/vived.io\/pl\/#website"},"primaryImageOfPage":{"@id":"https:\/\/vived.io\/pl\/jak-trudnym-dla-programistow-javy-jezykiem-jest-go-jvm-weekly-118\/#primaryimage"},"image":{"@id":"https:\/\/vived.io\/pl\/jak-trudnym-dla-programistow-javy-jezykiem-jest-go-jvm-weekly-118\/#primaryimage"},"thumbnailUrl":"https:\/\/vived.io\/wp-content\/uploads\/2022\/12\/JVM-Weekly-1200x628_V2-4.png","datePublished":"2022-12-22T12:55:46+00:00","dateModified":"2022-12-22T14:05:44+00:00","breadcrumb":{"@id":"https:\/\/vived.io\/pl\/jak-trudnym-dla-programistow-javy-jezykiem-jest-go-jvm-weekly-118\/#breadcrumb"},"inLanguage":"pl-PL","potentialAction":[{"@type":"ReadAction","target":["https:\/\/vived.io\/pl\/jak-trudnym-dla-programistow-javy-jezykiem-jest-go-jvm-weekly-118\/"]}]},{"@type":"ImageObject","inLanguage":"pl-PL","@id":"https:\/\/vived.io\/pl\/jak-trudnym-dla-programistow-javy-jezykiem-jest-go-jvm-weekly-118\/#primaryimage","url":"https:\/\/vived.io\/wp-content\/uploads\/2022\/12\/JVM-Weekly-1200x628_V2-4.png","contentUrl":"https:\/\/vived.io\/wp-content\/uploads\/2022\/12\/JVM-Weekly-1200x628_V2-4.png","width":1200,"height":628},{"@type":"BreadcrumbList","@id":"https:\/\/vived.io\/pl\/jak-trudnym-dla-programistow-javy-jezykiem-jest-go-jvm-weekly-118\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Strona g\u0142\u00f3wna","item":"https:\/\/vived.io\/pl\/"},{"@type":"ListItem","position":2,"name":"Jak trudnym dla programist\u00f3w Javy j\u0119zykiem jest Go? &#8211; JVM Weekly #118"}]},{"@type":"WebSite","@id":"https:\/\/vived.io\/pl\/#website","url":"https:\/\/vived.io\/pl\/","name":"Vived","description":"platform empowering IT people and technology companies to synergic growth","publisher":{"@id":"https:\/\/vived.io\/pl\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/vived.io\/pl\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"pl-PL"},{"@type":"Organization","@id":"https:\/\/vived.io\/pl\/#organization","name":"Vived","url":"https:\/\/vived.io\/pl\/","logo":{"@type":"ImageObject","inLanguage":"pl-PL","@id":"https:\/\/vived.io\/pl\/#\/schema\/logo\/image\/","url":"https:\/\/vived.io\/wp-content\/uploads\/2020\/03\/logo_vived_color.png","contentUrl":"https:\/\/vived.io\/wp-content\/uploads\/2020\/03\/logo_vived_color.png","width":136,"height":45,"caption":"Vived"},"image":{"@id":"https:\/\/vived.io\/pl\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/vived.io\/pl\/#\/schema\/person\/0eb0878110cb27edfbfe46e841fe6db3","name":"Artur Skowro\u0144ski","image":{"@type":"ImageObject","inLanguage":"pl-PL","@id":"https:\/\/vived.io\/pl\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/29055786486c8b9dc1507f2744221c5bdb8d7ef6e6217ced0326dd3296aea6ed?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/29055786486c8b9dc1507f2744221c5bdb8d7ef6e6217ced0326dd3296aea6ed?s=96&d=mm&r=g","caption":"Artur Skowro\u0144ski"}}]}},"blocks_vived":[{"blockName":"core\/image","attrs":{"id":13355,"sizeSlug":"large","linkDestination":"none"},"innerBlocks":[],"innerHTML":"\n<figure class=\"wp-block-image size-large\"><img src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/12\/ArturSkowronski_go_vs_java_737fdee7-1b41-4936-a53b-f48cd428d0ac-1-1024x683.png\" alt=\"\" class=\"wp-image-13355\"\/><\/figure>\n","innerContent":["\n<figure class=\"wp-block-image size-large\"><img src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/12\/ArturSkowronski_go_vs_java_737fdee7-1b41-4936-a53b-f48cd428d0ac-1-1024x683.png\" alt=\"\" class=\"wp-image-13355\"\/><\/figure>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/heading","attrs":[],"innerBlocks":[],"innerHTML":"\n<h2>1. Czy \u0142atwo jest przej\u015b\u0107 z Javy na Go?<\/h2>\n","innerContent":["\n<h2>1. Czy \u0142atwo jest przej\u015b\u0107 z Javy na Go?<\/h2>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>Jak co roku bawi\u0119 si\u0119 w Advent of Code (i jak co roku troch\u0119 wysiadam przy ko\u0144c\u00f3wce zaraz przed \u015bwi\u0119tami, z mocnym postanowieniem nadrobienia w okresie po\u015bwi\u0105tecznym). W tym roku postanowi\u0142em sobie zrobi\u0107 dodatkowy challenge i zacz\u0105\u0142em uczy\u0107 si\u0119 GoLanga r\u00f3wnolegle z rozwi\u0105zywaniem w nim zada\u0144. Bior\u0105c pod uwag\u0119, \u017ce - jak ju\u017c wspomnia\u0142em - nawet pisz\u0105c w Kotlinie, kt\u00f3rego dobrze znam zwyk\u0142e \"\u0142api\u0119 ty\u0142y\" by\u0142o to nieco zbyt ambitne postanowienie i do\u015b\u0107 szybko wymi\u0119k\u0142em, ale dzi\u0119ki temu \u0142ykn\u0105\u0142em troch\u0119 Go. Nawet mia\u0142em si\u0119 podzieli\u0107 z Wami swoimi przemy\u015bleniami w tym temacie, ale okaza\u0142o si\u0119, \u017ce Christopher Berger stworzy\u0142 tekst kt\u00f3ry bardzo dobrze oddaje to, co chcia\u0142bym si\u0119 dowiedzie\u0107 siadaj\u0105c do tego j\u0119zyka z perspektywy JVM-owca.<\/p>\n","innerContent":["\n<p>Jak co roku bawi\u0119 si\u0119 w Advent of Code (i jak co roku troch\u0119 wysiadam przy ko\u0144c\u00f3wce zaraz przed \u015bwi\u0119tami, z mocnym postanowieniem nadrobienia w okresie po\u015bwi\u0105tecznym). W tym roku postanowi\u0142em sobie zrobi\u0107 dodatkowy challenge i zacz\u0105\u0142em uczy\u0107 si\u0119 GoLanga r\u00f3wnolegle z rozwi\u0105zywaniem w nim zada\u0144. Bior\u0105c pod uwag\u0119, \u017ce - jak ju\u017c wspomnia\u0142em - nawet pisz\u0105c w Kotlinie, kt\u00f3rego dobrze znam zwyk\u0142e \"\u0142api\u0119 ty\u0142y\" by\u0142o to nieco zbyt ambitne postanowienie i do\u015b\u0107 szybko wymi\u0119k\u0142em, ale dzi\u0119ki temu \u0142ykn\u0105\u0142em troch\u0119 Go. Nawet mia\u0142em si\u0119 podzieli\u0107 z Wami swoimi przemy\u015bleniami w tym temacie, ale okaza\u0142o si\u0119, \u017ce Christopher Berger stworzy\u0142 tekst kt\u00f3ry bardzo dobrze oddaje to, co chcia\u0142bym si\u0119 dowiedzie\u0107 siadaj\u0105c do tego j\u0119zyka z perspektywy JVM-owca.<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>Z <a href=\"https:\/\/appliedgo.com\/blog\/from-java-to-go\">Moving from Java to Go? What you need to know<\/a> dowiecie si\u0119 wi\u0119c, jaka filozofia j\u0119zyka (jako suplement polecam tu te\u017c oficjalne <a href=\"https:\/\/go.dev\/doc\/faq\">FAQ j\u0119zyka<\/a> - d\u0142ugie acz tre\u015bciwe bardzo), jak nale\u017cy my\u015ble\u0107 o jego wsp\u00f3\u0142bie\u017cno\u015bci oraz specyfice paradygmatu j\u0119zyka, kt\u00f3ry jest do\u015b\u0107 ulotny i trudny do uchwycenia (ni to obiektowy, ni to funkcyjny, ni to proceduralny). A je\u015bli ostatecznie b\u0119dziecie potrzebowali jeszcze wi\u0119cej, to jest te\u017c kurs <a href=\"https:\/\/java2go.dev\/\">java2go.dev<\/a>, kt\u00f3ry mnie ostatecznie wyja\u015bni\u0142 bardzo du\u017co rzeczy i sprawi\u0142, \u017ce mimo pocz\u0105tkowej pora\u017cki prawdopodobnie zrobi\u0119 sobie jeszcze jedno podej\u015bcie do GoLanga.<\/p>\n","innerContent":["\n<p>Z <a href=\"https:\/\/appliedgo.com\/blog\/from-java-to-go\">Moving from Java to Go? What you need to know<\/a> dowiecie si\u0119 wi\u0119c, jaka filozofia j\u0119zyka (jako suplement polecam tu te\u017c oficjalne <a href=\"https:\/\/go.dev\/doc\/faq\">FAQ j\u0119zyka<\/a> - d\u0142ugie acz tre\u015bciwe bardzo), jak nale\u017cy my\u015ble\u0107 o jego wsp\u00f3\u0142bie\u017cno\u015bci oraz specyfice paradygmatu j\u0119zyka, kt\u00f3ry jest do\u015b\u0107 ulotny i trudny do uchwycenia (ni to obiektowy, ni to funkcyjny, ni to proceduralny). A je\u015bli ostatecznie b\u0119dziecie potrzebowali jeszcze wi\u0119cej, to jest te\u017c kurs <a href=\"https:\/\/java2go.dev\/\">java2go.dev<\/a>, kt\u00f3ry mnie ostatecznie wyja\u015bni\u0142 bardzo du\u017co rzeczy i sprawi\u0142, \u017ce mimo pocz\u0105tkowej pora\u017cki prawdopodobnie zrobi\u0119 sobie jeszcze jedno podej\u015bcie do GoLanga.<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/image","attrs":{"align":"center","id":13344,"sizeSlug":"full","linkDestination":"none"},"innerBlocks":[],"innerHTML":"\n<figure class=\"wp-block-image aligncenter size-full\"><img src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/12\/image-41.png\" alt=\"\" class=\"wp-image-13344\"\/><figcaption>To tak, jakby kto\u015b chcia\u0142 dorzuci\u0107 co\u015b sobie do listy postanowie\u0144 noworocznych.<\/figcaption><\/figure>\n","innerContent":["\n<figure class=\"wp-block-image aligncenter size-full\"><img src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/12\/image-41.png\" alt=\"\" class=\"wp-image-13344\"\/><figcaption>To tak, jakby kto\u015b chcia\u0142 dorzuci\u0107 co\u015b sobie do listy postanowie\u0144 noworocznych.<\/figcaption><\/figure>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>To ja tak od siebie dorzuc\u0119 jeszcze jedn\u0105 bibliotek\u0119, kt\u00f3ra dla mnie osobi\u015bcie by\u0142a sporym gamechangerem i pozwoli\u0142a mi \u0142atwiej prototypowa\u0107 rozwi\u0105zania w Go. Jest to <a href=\"https:\/\/github.com\/kamstrup\/fn\">kamstrup\/fn<\/a>, kt\u00f3ra jak sam autor pisze \"by\u0142a zainspirowana Clojure i Java Streams APIs i dostarczona w podobnym duchu, co sprawi, \u017ce pisanie kodu Go b\u0119dzie jeszcze przyjemniejsze.\". Podpisuje si\u0119 pod powy\u017cszym obiema r\u0119kami i niech nie zwiedzie Was tylko gwiazdek - m\u00f3j m\u00f3zg dzi\u0119ki do\u0142o\u017ceniu <strong>fn<\/strong> do projektu sta\u0142 si\u0119 du\u017co kompatybilniejszy z Go, co pomog\u0142o mi zacz\u0105\u0107 pisa\u0107 (na razie ciut) bardziej idiomatycznie.<\/p>\n","innerContent":["\n<p>To ja tak od siebie dorzuc\u0119 jeszcze jedn\u0105 bibliotek\u0119, kt\u00f3ra dla mnie osobi\u015bcie by\u0142a sporym gamechangerem i pozwoli\u0142a mi \u0142atwiej prototypowa\u0107 rozwi\u0105zania w Go. Jest to <a href=\"https:\/\/github.com\/kamstrup\/fn\">kamstrup\/fn<\/a>, kt\u00f3ra jak sam autor pisze \"by\u0142a zainspirowana Clojure i Java Streams APIs i dostarczona w podobnym duchu, co sprawi, \u017ce pisanie kodu Go b\u0119dzie jeszcze przyjemniejsze.\". Podpisuje si\u0119 pod powy\u017cszym obiema r\u0119kami i niech nie zwiedzie Was tylko gwiazdek - m\u00f3j m\u00f3zg dzi\u0119ki do\u0142o\u017ceniu <strong>fn<\/strong> do projektu sta\u0142 si\u0119 du\u017co kompatybilniejszy z Go, co pomog\u0142o mi zacz\u0105\u0107 pisa\u0107 (na razie ciut) bardziej idiomatycznie.<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/image","attrs":{"align":"center","id":13342,"width":512,"height":265,"sizeSlug":"large","linkDestination":"none"},"innerBlocks":[],"innerHTML":"\n<figure class=\"wp-block-image aligncenter size-large is-resized\"><img src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/12\/image-40-1024x529.png\" alt=\"\" class=\"wp-image-13342\" width=\"512\" height=\"265\"\/><figcaption>Programi\u015bci Go takich bibliotek pewnie nienawidz\u0105, ale c\u00f3\u017c zrobi\u0107.<\/figcaption><\/figure>\n","innerContent":["\n<figure class=\"wp-block-image aligncenter size-large is-resized\"><img src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/12\/image-40-1024x529.png\" alt=\"\" class=\"wp-image-13342\" width=\"512\" height=\"265\"\/><figcaption>Programi\u015bci Go takich bibliotek pewnie nienawidz\u0105, ale c\u00f3\u017c zrobi\u0107.<\/figcaption><\/figure>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>Kto\u015b si\u0119 bawi\u0142 w tym roku Advent of Code? Je\u015bli tak, to macie jeszcze ostatni\u0105 szans\u0119 przy\u0142\u0105czy\u0107 si\u0119 do naszej <a href=\"https:\/\/www.facebook.com\/groups\/223069906571427\">grupy facebookowej<\/a> i <a href=\"https:\/\/adventofcode.com\/2022\/leaderboard\/private\">leaderboarda<\/a> (join code: 2276325-be92402e), zanim ca\u0142a zabawa si\u0119 zako\u0144czy \ud83c\udf84.<\/p>\n","innerContent":["\n<p>Kto\u015b si\u0119 bawi\u0142 w tym roku Advent of Code? Je\u015bli tak, to macie jeszcze ostatni\u0105 szans\u0119 przy\u0142\u0105czy\u0107 si\u0119 do naszej <a href=\"https:\/\/www.facebook.com\/groups\/223069906571427\">grupy facebookowej<\/a> i <a href=\"https:\/\/adventofcode.com\/2022\/leaderboard\/private\">leaderboarda<\/a> (join code: 2276325-be92402e), zanim ca\u0142a zabawa si\u0119 zako\u0144czy \ud83c\udf84.<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/heading","attrs":{"level":3},"innerBlocks":[],"innerHTML":"\n<h3>\u0179r\u00f3d\u0142a<\/h3>\n","innerContent":["\n<h3>\u0179r\u00f3d\u0142a<\/h3>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/list","attrs":[],"innerBlocks":[],"innerHTML":"\n<ul><li><a href=\"https:\/\/appliedgo.com\/blog\/from-java-to-go\">Moving from Java to Go? What you need to know<\/a><\/li><li><a href=\"https:\/\/java2go.dev\/\">java2go.dev<\/a><\/li><li><a href=\"https:\/\/github.com\/kamstrup\/fn\">kamstrup\/fn<\/a><\/li><li><a href=\"https:\/\/go.dev\/doc\/faq\">GoLang FAQ<\/a><\/li><\/ul>\n","innerContent":["\n<ul><li><a href=\"https:\/\/appliedgo.com\/blog\/from-java-to-go\">Moving from Java to Go? What you need to know<\/a><\/li><li><a href=\"https:\/\/java2go.dev\/\">java2go.dev<\/a><\/li><li><a href=\"https:\/\/github.com\/kamstrup\/fn\">kamstrup\/fn<\/a><\/li><li><a href=\"https:\/\/go.dev\/doc\/faq\">GoLang FAQ<\/a><\/li><\/ul>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/heading","attrs":[],"innerBlocks":[],"innerHTML":"\n<h2>2. Jak CDI 4.0 Lite wpisuje si\u0119 w ostatnie trendy JDK<\/h2>\n","innerContent":["\n<h2>2. Jak CDI 4.0 Lite wpisuje si\u0119 w ostatnie trendy JDK<\/h2>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>Ale ostatnio wszyscy walcz\u0105 z tym wolnym wstawaniem aplikacji Javowych. Mieli\u015bmy dopiero co AWS Lambda SnapStart, bazuj\u0105cy na CRaC, a wcze\u015bniej przy okazji zapowiedzi wcielenia GraalVM o sporo m\u00f3wi\u0142o si\u0119 o projekcie Leyden. Okazuje si\u0119, \u017ce r\u00f3wnie\u017c w \u015bwiecie Jakarta EE te\u017c dziej\u0105 si\u0119 ruchy w tym kierunku.<\/p>\n","innerContent":["\n<p>Ale ostatnio wszyscy walcz\u0105 z tym wolnym wstawaniem aplikacji Javowych. Mieli\u015bmy dopiero co AWS Lambda SnapStart, bazuj\u0105cy na CRaC, a wcze\u015bniej przy okazji zapowiedzi wcielenia GraalVM o sporo m\u00f3wi\u0142o si\u0119 o projekcie Leyden. Okazuje si\u0119, \u017ce r\u00f3wnie\u017c w \u015bwiecie Jakarta EE te\u017c dziej\u0105 si\u0119 ruchy w tym kierunku.<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>Wraz z Core Profile wprowadzonym w Jakarta EE 10 pojawi\u0142 si\u0119 byt znany jako CDI Lite. Jest to nowy wariant jakartowego kontenera wstrzykiwania zale\u017cno\u015bci, tym razem posiadaj\u0105cy do\u015b\u0107 interesuj\u0105cy twist. W wypadku uruchamiania aplikacji bazuj\u0105cych na oryginalnym CDI niezb\u0119dne jest przeskanowanie ca\u0142ego codebase przy uruchomieniu, wynikaj\u0105ce z potrzeby zlokalizowania wszystkich wariant\u00f3w danej dependencji. CDI Lite wprowadza <code>BuildCompatibleExtension<\/code>, umo\u017cliwiaj\u0105ce takich operacji jak walidacje czy rozszerzanie bean\u00f3w jeszcze na poziomie budowania, zanim ca\u0142o\u015b\u0107 zostanie odpalona w runtime.<\/p>\n","innerContent":["\n<p>Wraz z Core Profile wprowadzonym w Jakarta EE 10 pojawi\u0142 si\u0119 byt znany jako CDI Lite. Jest to nowy wariant jakartowego kontenera wstrzykiwania zale\u017cno\u015bci, tym razem posiadaj\u0105cy do\u015b\u0107 interesuj\u0105cy twist. W wypadku uruchamiania aplikacji bazuj\u0105cych na oryginalnym CDI niezb\u0119dne jest przeskanowanie ca\u0142ego codebase przy uruchomieniu, wynikaj\u0105ce z potrzeby zlokalizowania wszystkich wariant\u00f3w danej dependencji. CDI Lite wprowadza <code>BuildCompatibleExtension<\/code>, umo\u017cliwiaj\u0105ce takich operacji jak walidacje czy rozszerzanie bean\u00f3w jeszcze na poziomie budowania, zanim ca\u0142o\u015b\u0107 zostanie odpalona w runtime.<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>Oczywi\u015bcie, nie ma nic za darmo i migracja do nowego wariantu nie jest tak ca\u0142kiem bezproblemowa. Je\u015bli jednak chcecie spr\u00f3bowa\u0107 jak wygl\u0105da CDI id\u0105cy z duchem JVM, <a href=\"https:\/\/www.atbash.be\/2022\/12\/07\/cdi-4-0-lite-and-potential-pitfalls\/\">CDI 4.0 Lite and Potential Pitfalls<\/a> wprowadzi Was zar\u00f3wno w sam koncept jak i podkre\u015bli, na co warto uwa\u017ca\u0107. Dobr\u0105 analiz\u0119 jeszcze przed premier\u0105 samego standardu <a href=\"https:\/\/www.theserverside.com\/blog\/Coffee-Talk-Java-News-Stories-and-Opinions\/CDI-Full-vs-CDI-Lite-What-changed-in-Contexts-and-Dependency-Injection-40\">wypu\u015bci\u0142 TheServerSide<\/a>, gdzie dokonali oni por\u00f3wnania mi\u0119dzy r\u00f3\u017cnymi wersjami CDI.<\/p>\n","innerContent":["\n<p>Oczywi\u015bcie, nie ma nic za darmo i migracja do nowego wariantu nie jest tak ca\u0142kiem bezproblemowa. Je\u015bli jednak chcecie spr\u00f3bowa\u0107 jak wygl\u0105da CDI id\u0105cy z duchem JVM, <a href=\"https:\/\/www.atbash.be\/2022\/12\/07\/cdi-4-0-lite-and-potential-pitfalls\/\">CDI 4.0 Lite and Potential Pitfalls<\/a> wprowadzi Was zar\u00f3wno w sam koncept jak i podkre\u015bli, na co warto uwa\u017ca\u0107. Dobr\u0105 analiz\u0119 jeszcze przed premier\u0105 samego standardu <a href=\"https:\/\/www.theserverside.com\/blog\/Coffee-Talk-Java-News-Stories-and-Opinions\/CDI-Full-vs-CDI-Lite-What-changed-in-Contexts-and-Dependency-Injection-40\">wypu\u015bci\u0142 TheServerSide<\/a>, gdzie dokonali oni por\u00f3wnania mi\u0119dzy r\u00f3\u017cnymi wersjami CDI.<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>PS1: ostatnio <a href=\"https:\/\/github.com\/eclipse-ee4j\/glassfish\/releases\/tag\/7.0.0\">premier\u0119 swoj\u0105 mia\u0142 nowy GlassFish w wersji 7.0<\/a>. Zawiera on pe\u0142ne wsparcie dla API Jakarta EE 10.<\/p>\n","innerContent":["\n<p>PS1: ostatnio <a href=\"https:\/\/github.com\/eclipse-ee4j\/glassfish\/releases\/tag\/7.0.0\">premier\u0119 swoj\u0105 mia\u0142 nowy GlassFish w wersji 7.0<\/a>. Zawiera on pe\u0142ne wsparcie dla API Jakarta EE 10.<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>PS2: Wracaj\u0105c troch\u0119 do tematu Project Galahad, o kt\u00f3rym pisa\u0142em ostatnio - <a href=\"https:\/\/medium.com\/graalvm\/graalvm-galahad-and-a-new-release-schedule-d081d1031bba\">GraalVM (jako ca\u0142o\u015b\u0107) zapowiedzia\u0142 zmiany w swoim cyklu wydawniczym<\/a>. Nie tylko wi\u0119c javowa cz\u0119\u015b\u0107 GraalVM CE b\u0119dzie zsynchronizowana z wydaniami Javy, ale czeka to r\u00f3wnie\u017c ca\u0142y projekt. Nowe wydania zar\u00f3wno Community, jak i Enterprise Edition b\u0119d\u0105 pojawia\u0142y si\u0119 wi\u0119c co sze\u015b\u0107 miesi\u0119cy, wraz z kolejnymi edycjami JDK.<\/p>\n","innerContent":["\n<p>PS2: Wracaj\u0105c troch\u0119 do tematu Project Galahad, o kt\u00f3rym pisa\u0142em ostatnio - <a href=\"https:\/\/medium.com\/graalvm\/graalvm-galahad-and-a-new-release-schedule-d081d1031bba\">GraalVM (jako ca\u0142o\u015b\u0107) zapowiedzia\u0142 zmiany w swoim cyklu wydawniczym<\/a>. Nie tylko wi\u0119c javowa cz\u0119\u015b\u0107 GraalVM CE b\u0119dzie zsynchronizowana z wydaniami Javy, ale czeka to r\u00f3wnie\u017c ca\u0142y projekt. Nowe wydania zar\u00f3wno Community, jak i Enterprise Edition b\u0119d\u0105 pojawia\u0142y si\u0119 wi\u0119c co sze\u015b\u0107 miesi\u0119cy, wraz z kolejnymi edycjami JDK.<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/heading","attrs":{"level":3},"innerBlocks":[],"innerHTML":"\n<h3>\u0179r\u00f3d\u0142a<\/h3>\n","innerContent":["\n<h3>\u0179r\u00f3d\u0142a<\/h3>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/list","attrs":[],"innerBlocks":[],"innerHTML":"\n<ul><li><a href=\"https:\/\/www.theserverside.com\/blog\/Coffee-Talk-Java-News-Stories-and-Opinions\/CDI-Full-vs-CDI-Lite-What-changed-in-Contexts-and-Dependency-Injection-40\">CDI Full vs CDI Lite: What's new in Contexts and Dependency Injection 4.0<\/a><\/li><li><a href=\"https:\/\/www.atbash.be\/2022\/12\/07\/cdi-4-0-lite-and-potential-pitfalls\/\">CDI 4.0 Lite and Potential Pitfalls<\/a><\/li><li><a href=\"https:\/\/medium.com\/graalvm\/graalvm-galahad-and-a-new-release-schedule-d081d1031bba\">GraalVM, Galahad, and a New Release Schedule<\/a><\/li><li><a href=\"https:\/\/github.com\/eclipse-ee4j\/glassfish\/releases\/tag\/7.0.0\">GlassFish 7.0 Released<\/a><\/li><\/ul>\n","innerContent":["\n<ul><li><a href=\"https:\/\/www.theserverside.com\/blog\/Coffee-Talk-Java-News-Stories-and-Opinions\/CDI-Full-vs-CDI-Lite-What-changed-in-Contexts-and-Dependency-Injection-40\">CDI Full vs CDI Lite: What's new in Contexts and Dependency Injection 4.0<\/a><\/li><li><a href=\"https:\/\/www.atbash.be\/2022\/12\/07\/cdi-4-0-lite-and-potential-pitfalls\/\">CDI 4.0 Lite and Potential Pitfalls<\/a><\/li><li><a href=\"https:\/\/medium.com\/graalvm\/graalvm-galahad-and-a-new-release-schedule-d081d1031bba\">GraalVM, Galahad, and a New Release Schedule<\/a><\/li><li><a href=\"https:\/\/github.com\/eclipse-ee4j\/glassfish\/releases\/tag\/7.0.0\">GlassFish 7.0 Released<\/a><\/li><\/ul>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/heading","attrs":[],"innerBlocks":[],"innerHTML":"\n<h2>Bonus: Nasz ulubiony serial - Java Umiera: odcinek 2137<\/h2>\n","innerContent":["\n<h2>Bonus: Nasz ulubiony serial - Java Umiera: odcinek 2137<\/h2>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/image","attrs":{"align":"center","id":13347,"width":512,"height":427,"sizeSlug":"large","linkDestination":"none"},"innerBlocks":[],"innerHTML":"\n<figure class=\"wp-block-image aligncenter size-large is-resized\"><img src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/12\/image-42-1024x853.png\" alt=\"\" class=\"wp-image-13347\" width=\"512\" height=\"427\"\/><figcaption><a href=\"https:\/\/dzone.com\/articles\/big-numbers-comic\">\u0179r\u00f3d\u0142o<\/a><\/figcaption><\/figure>\n","innerContent":["\n<figure class=\"wp-block-image aligncenter size-large is-resized\"><img src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/12\/image-42-1024x853.png\" alt=\"\" class=\"wp-image-13347\" width=\"512\" height=\"427\"\/><figcaption><a href=\"https:\/\/dzone.com\/articles\/big-numbers-comic\">\u0179r\u00f3d\u0142o<\/a><\/figcaption><\/figure>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>To tak ju\u017c zupe\u0142nie na koniec, jako \u017ce zacz\u0119li\u015bmy od przechodzenia na GoLang, to chc\u0105cy sobie \"zracjonalizowa\u0107\" tak\u0105 decyzj\u0119 powinni zerkn\u0105\u0107 do najnowszego odczytu TIOBE. Po raz pierwszy (a przynajmniej po raz pierwszy od baaaardzo dawna) <a href=\"https:\/\/www.infoworld.com\/article\/3682141\/c-plus-plus-overtakes-java-in-language-popularity-index.html\">Java wylecia\u0142a spoza pierwszej tr\u00f3jki<\/a>, gdzie zosta\u0142 zast\u0105piony przez C++. Indeks Tiobe szereguje j\u0119zyki na podstawie wyszukiwa\u0144 w Google, Bing, Yahoo i innych \u017ar\u00f3d\u0142ach - oznacza to wi\u0119c, \u017ce Java zacz\u0119\u0142a by\u0107 rzadziej wyszukiwana.<\/p>\n","innerContent":["\n<p>To tak ju\u017c zupe\u0142nie na koniec, jako \u017ce zacz\u0119li\u015bmy od przechodzenia na GoLang, to chc\u0105cy sobie \"zracjonalizowa\u0107\" tak\u0105 decyzj\u0119 powinni zerkn\u0105\u0107 do najnowszego odczytu TIOBE. Po raz pierwszy (a przynajmniej po raz pierwszy od baaaardzo dawna) <a href=\"https:\/\/www.infoworld.com\/article\/3682141\/c-plus-plus-overtakes-java-in-language-popularity-index.html\">Java wylecia\u0142a spoza pierwszej tr\u00f3jki<\/a>, gdzie zosta\u0142 zast\u0105piony przez C++. Indeks Tiobe szereguje j\u0119zyki na podstawie wyszukiwa\u0144 w Google, Bing, Yahoo i innych \u017ar\u00f3d\u0142ach - oznacza to wi\u0119c, \u017ce Java zacz\u0119\u0142a by\u0107 rzadziej wyszukiwana.<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>Puszczam to bardziej jako ciekawostk\u0119, nie musz\u0119 chyba bowiem \u017cadnego czytelnika tych przegl\u0105d\u00f3w przekonywa\u0107, \u017ce Java ma w sobie jeszcze wiele wigoru i werwy, wi\u0119c pewnie nie czas jej jeszcze umiera\u0107. I o ile o oferty w pe\u0142ni zdalne nie jest w Javie tak \u0142atwo jak cho\u0107by w po raz kolejny przywo\u0142ywanym GoLangu, to jednak Java pozostaje niesamowicie p\u0142odnym ekosystemem. Zreszt\u0105 dopiero co w <a href=\"https:\/\/vived.io\/pride-walks-before-a-fall-will-rust-survive-software-craftsmanship-weekly-116\/\">sobotnich przegl\u0105dach pisa\u0142em<\/a> o pu\u0142apkach, w jakie \u0142atwo wpa\u015b\u0107 mog\u0105 \"modne\" j\u0119zyki - akurat na przyk\u0142adzie Rusta. Polecam lektur\u0119 oryginalnej publikacji <a href=\"https:\/\/gist.github.com\/graninas\/22ab535d2913311e47a742c70f1d2f2b\">What killed Haskell, could kill Rust, too<\/a>, napisanej w oryginalnej formule Futurospektywy.<\/p>\n","innerContent":["\n<p>Puszczam to bardziej jako ciekawostk\u0119, nie musz\u0119 chyba bowiem \u017cadnego czytelnika tych przegl\u0105d\u00f3w przekonywa\u0107, \u017ce Java ma w sobie jeszcze wiele wigoru i werwy, wi\u0119c pewnie nie czas jej jeszcze umiera\u0107. I o ile o oferty w pe\u0142ni zdalne nie jest w Javie tak \u0142atwo jak cho\u0107by w po raz kolejny przywo\u0142ywanym GoLangu, to jednak Java pozostaje niesamowicie p\u0142odnym ekosystemem. Zreszt\u0105 dopiero co w <a href=\"https:\/\/vived.io\/pride-walks-before-a-fall-will-rust-survive-software-craftsmanship-weekly-116\/\">sobotnich przegl\u0105dach pisa\u0142em<\/a> o pu\u0142apkach, w jakie \u0142atwo wpa\u015b\u0107 mog\u0105 \"modne\" j\u0119zyki - akurat na przyk\u0142adzie Rusta. Polecam lektur\u0119 oryginalnej publikacji <a href=\"https:\/\/gist.github.com\/graninas\/22ab535d2913311e47a742c70f1d2f2b\">What killed Haskell, could kill Rust, too<\/a>, napisanej w oryginalnej formule Futurospektywy.<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>A tak na pokrzepienie serc - Head of Engineering Picnic, holenderska aplikacja do dowozu zakup\u00f3w, podzieli\u0142 si\u0119 <a href=\"https:\/\/blog.picnic.nl\/why-picnic-picked-java-e53fafe0df1b\">powodami dla kt\u00f3rych zdecydowali si\u0119 wej\u015b\u0107 w \"umieraj\u0105c\u0105\" Jav\u0119<\/a>. Ca\u0142o\u015b\u0107 dyskusji prowadzona jest raczej w opozycji do Kotlina i Node.js, ale wi\u0119kszo\u015b\u0107 argument\u00f3w jest zasadna.<\/p>\n","innerContent":["\n<p>A tak na pokrzepienie serc - Head of Engineering Picnic, holenderska aplikacja do dowozu zakup\u00f3w, podzieli\u0142 si\u0119 <a href=\"https:\/\/blog.picnic.nl\/why-picnic-picked-java-e53fafe0df1b\">powodami dla kt\u00f3rych zdecydowali si\u0119 wej\u015b\u0107 w \"umieraj\u0105c\u0105\" Jav\u0119<\/a>. Ca\u0142o\u015b\u0107 dyskusji prowadzona jest raczej w opozycji do Kotlina i Node.js, ale wi\u0119kszo\u015b\u0107 argument\u00f3w jest zasadna.<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/heading","attrs":{"level":3},"innerBlocks":[],"innerHTML":"\n<h3>\u0179r\u00f3d\u0142a<\/h3>\n","innerContent":["\n<h3>\u0179r\u00f3d\u0142a<\/h3>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/list","attrs":[],"innerBlocks":[],"innerHTML":"\n<ul><li><a href=\"https:\/\/www.infoworld.com\/article\/3682141\/c-plus-plus-overtakes-java-in-language-popularity-index.html\">C++ overtakes Java in language popularity index<\/a><\/li><li><a href=\"https:\/\/gist.github.com\/graninas\/22ab535d2913311e47a742c70f1d2f2b\">What killed Haskell, could kill Rust, too<\/a><\/li><li><a href=\"https:\/\/blog.picnic.nl\/why-picnic-picked-java-e53fafe0df1b\">Why Picnic picked Java<\/a><\/li><\/ul>\n","innerContent":["\n<ul><li><a href=\"https:\/\/www.infoworld.com\/article\/3682141\/c-plus-plus-overtakes-java-in-language-popularity-index.html\">C++ overtakes Java in language popularity index<\/a><\/li><li><a href=\"https:\/\/gist.github.com\/graninas\/22ab535d2913311e47a742c70f1d2f2b\">What killed Haskell, could kill Rust, too<\/a><\/li><li><a href=\"https:\/\/blog.picnic.nl\/why-picnic-picked-java-e53fafe0df1b\">Why Picnic picked Java<\/a><\/li><\/ul>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/separator","attrs":[],"innerBlocks":[],"innerHTML":"\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n","innerContent":["\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>No dobra, to teraz weso\u0142ych \u015bwi\u0105t! I widzimy si\u0119 ju\u017c w Nowym Roku!<\/p>\n","innerContent":["\n<p>No dobra, to teraz weso\u0142ych \u015bwi\u0105t! I widzimy si\u0119 ju\u017c w Nowym Roku!<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/image","attrs":{"align":"center","id":13338,"sizeSlug":"full","linkDestination":"none"},"innerBlocks":[],"innerHTML":"\n<figure class=\"wp-block-image aligncenter size-full\"><img src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/12\/image-39.png\" alt=\"\" class=\"wp-image-13338\"\/><figcaption>Zawsze chcia\u0142em mie\u0107 takie \u015bwi\u0105teczne dekoracje \u2764\ufe0f <br>Ale nie przy tych rachunkach za pr\u0105d...<\/figcaption><\/figure>\n","innerContent":["\n<figure class=\"wp-block-image aligncenter size-full\"><img src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/12\/image-39.png\" alt=\"\" class=\"wp-image-13338\"\/><figcaption>Zawsze chcia\u0142em mie\u0107 takie \u015bwi\u0105teczne dekoracje \u2764\ufe0f <br>Ale nie przy tych rachunkach za pr\u0105d...<\/figcaption><\/figure>\n"]}],"_links":{"self":[{"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/posts\/13334","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/users\/10"}],"replies":[{"embeddable":true,"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/comments?post=13334"}],"version-history":[{"count":15,"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/posts\/13334\/revisions"}],"predecessor-version":[{"id":13373,"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/posts\/13334\/revisions\/13373"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/media\/13353"}],"wp:attachment":[{"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/media?parent=13334"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/categories?post=13334"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/tags?post=13334"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}