{"id":10035,"date":"2021-12-09T21:14:20","date_gmt":"2021-12-09T20:14:20","guid":{"rendered":"https:\/\/vived.io\/root-cause-7\/"},"modified":"2021-12-09T21:14:20","modified_gmt":"2021-12-09T20:14:20","slug":"root-cause-7","status":"publish","type":"post","link":"https:\/\/vived.io\/pl\/root-cause-7\/","title":{"rendered":"Jak j\u0119zyk programowania potrafi zdeterminowa\u0107 karier\u0119? \u2013 \ud83d\udd08 Root Cause by Vived #7"},"content":{"rendered":"\n<figure class=\"wp-block-embed is-type-rich is-provider-spotify wp-block-embed-spotify wp-embed-aspect-21-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe title=\"Spotify Embed: #7 Jak j\u0119zyk programowania potrafi zdeterminowa\u0107 karier\u0119?\" style=\"border-radius: 12px\" width=\"100%\" height=\"152\" frameborder=\"0\" allowfullscreen allow=\"autoplay; clipboard-write; encrypted-media; fullscreen; picture-in-picture\" loading=\"lazy\" src=\"https:\/\/open.spotify.com\/embed\/episode\/4CDnGstowlnkEiDGGTGzWO?utm_source=oembed\"><\/iframe>\n<\/div><\/figure>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/06\/img_62a88387bb1ec.jpg\" alt=\" - Dilbert by Scott Adams\"\/><\/figure>\n\n\n\n<h2 id=\"jakie-sa-najpopularniejsze-jezyki\" data-num=1>Jakie s\u0105<strong> najpopularniejsze j\u0119zyki<\/strong>?<\/h2>\n\n\n\n<p>Temat troch\u0119 wy\u015bwiechtany, ale pewnie od niego nie uciekniemy. Najbardziej szanowanym rankingiem tego typu jest <a href=\"https:\/\/www.tiobe.com\/tiobe-index\/\">TIOBE<\/a>, aczkolwiek prywatnie zdecydowanie bardziej lubi\u0119 odnosi\u0107 si\u0119 do wynik\u00f3w zaprezentowanych przez cho\u0107by <a href=\"https:\/\/octoverse.github.com\/\">GitHuba<\/a> czy <a href=\"https:\/\/insights.stackoverflow.com\/survey\/2021\">StackOverflow<\/a> &#8211; jako, \u017ce s\u0105 to narz\u0119dzia kt\u00f3re u\u017cywa wi\u0119kszo\u015b\u0107 z nas, wydaj\u0105 mi si\u0119 najlepiej oddawa\u0107 typowo \u201cprzemys\u0142ow\u0105\u201d stron\u0119 bran\u017cy.&nbsp;<\/p>\n\n\n\n<p>Przyk\u0142adowo, w TIOBE na drugim miejscu rankingu popularno\u015bci jest j\u0119zyk C, co o ile pewnie oddaje stan faktyczny, to jednak chyba nie oddaje dobrze rynku pracy (JavaScript jest tam dopiero na si\u00f3dmej pozycji). Rankingi GitHuba i Stacka w pierwszej tr\u00f3jce maj\u0105 za to Pythona, Jav\u0119 i JavaScripta &#8211; i o ile kolejno\u015b\u0107 miejsc na podium si\u0119 mi\u0119dzy nimi r\u00f3\u017cni, to my\u015bl\u0119, \u017ce wi\u0119kszo\u015b\u0107 zgodzi si\u0119, \u017ce to w\u0142a\u015bnie one dziel\u0105 i rz\u0105dz\u0105 tym, jak w 2021 wytwarza si\u0119 oprogramowanie.<\/p>\n\n\n\n<p>Aczkolwiek \u017ceby nie by\u0142o, \u017ce prawie tutaj same komuna\u0142y &#8211; na zako\u0144czenie tematu popularno\u015bci j\u0119zyk\u00f3w programowania mam dla Was \u015bwietnie animowane statystyki prezentuj\u0105ce, jak rzeczona zmienia\u0142a si\u0119 przez lata. Jestem w stanie si\u0119 za\u0142o\u017cy\u0107, \u017ce niejednokrotnie b\u0119dziecie mocno zaskoczenii.<\/p>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<div class=\"embed-responsive embed-responsive-16by9\"><iframe loading=\"lazy\" title=\"Most Popular Programming Languages 1965 - 2019\" width=\"500\" height=\"281\" src=\"https:\/\/www.youtube.com\/embed\/Og847HVwRSI?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe><\/div>\n<\/div><\/figure>\n\n\n\n<h2 id=\"ewolucja-jezykow-programowania\" data-num=2><br>Ewolucja j\u0119zyk\u00f3w programowania<\/h2>\n\n\n\n<p>Cz\u0119sto m\u00f3wi si\u0119, \u017ce sporo \u201cnowo\u015bci\u201d w j\u0119zykach programowania pochodzi wprost z lat 60-tych, i w wi\u0119kszo\u015bci przypadk\u00f3w nie ma problem\u00f3w, \u017ceby np. prze\u015bledzi\u0107 histori\u0119 korutyn z do jakiego\u015b zapomnianego papera z czas\u00f3w, gdy komputery zajmowa\u0142y ca\u0142y pok\u00f3j. Jednak bardzo wiele z tych teoretycznych za\u0142o\u017ce\u0144 potrzebowa\u0142o lat, \u017ceby znale\u017a\u0107 swoje zastosowanie w przemy\u015ble. Przyk\u0142adowo, ostatni boom na inwestycje w modele wsp\u00f3\u0142bie\u017cno\u015bci (gorutyny, korutyny, Loom) spowodowany zosta\u0142 przez zahamowanie rozwoju pojedynczych rdzeni procesora, w zwi\u0105zku z czym spo\u0142eczno\u015b\u0107 musia\u0142a zabra\u0107 si\u0119 za realizacj\u0119 istniej\u0105cych pomys\u0142\u00f3w w praktyce. Sam proces ewolucji j\u0119zyk\u00f3w bardzo dobrze wy\u0142uszczy\u0142 w 2020 Roman Elizarov, \u015bwietnie znany spo\u0142eczno\u015bci kotlinowej. <a href=\"https:\/\/elizarov.medium.com\/programming-language-evolution-ab7d7d2b0d0b\">Artyku\u0142 ten obrazuje<\/a>, jak zmiany w bran\u017cy powodowa\u0142y przez lata rozw\u00f3j narz\u0119dzi, kt\u00f3re u\u017cywamy na co dzie\u0144.<\/p>\n\n\n\n<p>Wprawdzie w samym odcinku \u015bwi\u0119ta wojna mi\u0119dzy programowaniem obiektowym, a funkcyjnym nie wybrzmia\u0142a zbyt mocno, ale je\u015bli chodzi o j\u0119zyki programowania jest to zdecydowanie punkt zapalny, kt\u00f3ry rozgrzewa programist\u00f3w do czerwono\u015bci od zawsze, ze szczeg\u00f3lnym naciskiem ostatniej dekady. Dlatego te\u017c dwa nast\u0119pne materia\u0142y zwi\u0105zane b\u0119d\u0105 w\u0142a\u015bnie z tym tematem.&nbsp;<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img decoding=\"async\" src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/06\/me-the-language-tm-studying-literally-any-other-language-functional-45999094.png\" alt=\"ME THE LANGUAGE T'M STUDYING LITERALLY ANY OTHER LANGUAGE Functional  Programming Is Looking So Hot These Days | Programming Meme on ME.ME\"\/><\/figure><\/div>\n\n\n<p>Po pierwsze &#8211; punkt widzenia programowania obiektowego bardzo dobrze podsumowa\u0142 w zesz\u0142ym roku <a href=\"https:\/\/stackoverflow.blog\/2020\/09\/02\/if-everyone-hates-it-why-is-oop-still-so-widely-spread\/\">esej opublikowany na blogu StackOverflow<\/a>. Przedstawia on jak bardzo fakt braku \u015bcis\u0142ej definicji czym OOP jest doprowadzi\u0142 zar\u00f3wno do jego niezwyk\u0142ego sukcesu, jak i po jakim\u015b czasie obr\u00f3ci\u0142 si\u0119 mocno przeciwko niemu. Skoro jednak sam tw\u00f3rca (no&#8230; mo\u017ce pierwszy istotny popularyzator) terminu \u201cprogramowanie obiektowe\u201d przez lata zmienia\u0142 swoje zdanie na to czym ono jest\u2026 to jak biedny szary programista ma si\u0119 nie pogubi\u0107.<\/p>\n\n\n\n<p>Co do programowania funkcyjnego za\u015b, nie wiem czy istnieje w ostatnich latach wa\u017cniejsze publikacja dla ca\u0142ego trendu znim zwi\u0105zanego ni\u017c \u201cWhy Functional Programming Matters\u201d Johna Hughesa. Oryginalnie spisane w formie <a href=\"https:\/\/www.cs.kent.ac.uk\/people\/staff\/dat\/miranda\/whyfp90.pdf\">akademickiego papera<\/a> w latach 90-tych sta\u0142o si\u0119 dokumentem fundacyjnym nowoczesnego podej\u015bcia do FP. Ca\u0142o\u015b\u0107 w wersji papierowej jest jest troch\u0119 \u201cprzyci\u0119\u017ckawa\u201d, dlatego chc\u0105cym pozna\u0107 my\u015bl przewodni\u0105 Hughesa polecam nagranie jego <a href=\"https:\/\/www.youtube.com\/watch?v=XrNdvWqxBvA\">prezentacji o tym samym tytule<\/a>.&nbsp;<\/p>\n\n\n\n<h2 id=\"skad-bierze-sie-legacy\" data-num=3>Sk\u0105d bierze si\u0119 Legacy?<\/h2>\n\n\n\n<p>W odcinku, kt\u00f3rego oryginalnym tematem by\u0142y j\u0119zyki programowania, zaskakuj\u0105co du\u017co m\u00f3wili\u015bmy o systemach legacy. Temat wraca\u0142 jak bumerang, i wcale si\u0119 z naszej perspektywy nie wyczerpa\u0142, dlatego chcia\u0142bym m\u00f3c go troch\u0119 poszerzy\u0107 w ramach notatek.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img decoding=\"async\" src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/06\/legacy_meme.jpg\" alt=\"Legacies Never Die: How to Handle Legacy Code\"\/><\/figure><\/div>\n\n\n<p>Po pierwsze, niesamowicie polecam Paper <a href=\"https:\/\/www.cs.drexel.edu\/~yfcai\/CS451\/RequiredReadings\/SoftwareAging.pdf\">Software Aging<\/a> &#8211; tydzie\u0144 temu podrzuca\u0142em poradnik jak si\u0119 takowe dokumenty czyta, tak\u017ce akurat b\u0119dziecie mogli przetestowa\u0107 sobie t\u0105 wiedz\u0119 w praktyce. Jest to bardzo wnikliwa, a r\u00f3wnolegle przyst\u0119pna analiza powod\u00f3w, dla kt\u00f3rych nie da si\u0119 w zasadzie napisa\u0107 oprogramowania odpornego na starzenie si\u0119. Autorzy przyj\u0119li bardzo szerok\u0105 perspektyw\u0119 &#8211; przygl\u0105daj\u0105 si\u0119 powodom zar\u00f3wno stricte technologicznych, jak i biznesowo-organizacyjnych.&nbsp; Dodatkowym chichotem jest fakt, \u017ce ca\u0142o\u015b\u0107 pochodzi z 1994 roku. Pokazuje to, jak ponadczasowe s\u0105 niekt\u00f3re problemy z kt\u00f3rymi si\u0119 mierzymy.<\/p>\n\n\n\n<p>Modernizacja system\u00f3w legacy jest problemem z\u0142o\u017conym, ale te\u017c nie musimy biega\u0107 jak kurczaczki z odci\u0119t\u0105 g\u0142ow\u0105. Jako bran\u017ca wypracowali\u015bmy ju\u017c sporo metod na podchodzenie do procesy wykopywania si\u0119 z naszego \u201cdziedzictwa\u201d, a bardzo dobr\u0105 kompilacje znajdziecie np. <a href=\"https:\/\/martinfowler.com\/articles\/patterns-legacy-displacement\/\">na blogu Martina Fowlera<\/a>. Jest to lektura do\u015b\u0107 d\u0142uga, ale da Wam bardzo szeroki pogl\u0105d na wachlarz metod kt\u00f3rych mo\u017cecie u\u017cy\u0107 je\u015bli staniecie przed takim wyzwaniem.&nbsp;<\/p>\n\n\n\n<p>PS: Sam te\u017c kiedy\u015b pope\u0142ni\u0142em <a href=\"https:\/\/bit.ly\/3CR4X57\">do\u015b\u0107 poka\u017ane case-study<\/a> opisuj\u0105ce, jak takowa migracja wygl\u0105da\u0142a w jednym z projekt\u00f3w w kt\u00f3rym pracowa\u0142em. Uwa\u017cam, \u017ce wysz\u0142o naprawd\u0119 udanie, tak\u017ce zapraszam do lektury.<br><\/p>\n\n\n\n<h2 id=\"polecanki-ksiazkowe\" data-num=4>Polecanki ksi\u0105\u017ckowe<\/h2>\n\n\n\n<p>A jak ju\u017c o dzia\u0142aniu na zasta\u0142ym kodzie mowa &#8211; to na sam koniec mam dla Was dwie polecajki ksi\u0105\u017ckowe, kt\u00f3re pomog\u0105 w\u0142a\u015bnie w tym.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img decoding=\"async\" src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/06\/51yS8PYs03L._SX376_BO1204203200.jpg\" alt=\"\"\/><\/figure><\/div>\n\n\n<p>Pierwsz\u0105 publikacj\u0105 jest klasyk <a href=\"https:\/\/www.amazon.pl\/Working-Effectively-Legacy-Feathers-Michael\/dp\/0131177052\"><strong>Working Effectively with Legacy Code<\/strong><\/a><strong>. <\/strong>Od czasu swojej premiery w 2004 roku nie znika z list najcz\u0119\u015bciej polecanych pozycji zwi\u0105zanych z in\u017cynieri\u0105 oprogramowania. Trudno si\u0119 dziwi\u0107 &#8211; ksi\u0105\u017cka zapewnia programistom mo\u017cliwo\u015b\u0107 efektywnego rozwi\u0105zywania typowych problem\u00f3w ze starszym kodem, bez konieczno\u015bci przechodzenia przez niezwykle kosztowne zadanie przepisywania ca\u0142ego istniej\u0105cego codebase. Pragmatyczne porady Michaela Fethersa pomagaj\u0105 znale\u017a\u0107 odpowiedni balans podczas czyszczenia stajni Augiasza.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/06\/atevol.jpg\" alt=\"\" width=\"563\" height=\"675\"\/><\/figure><\/div>\n\n\n<p>Pami\u0119tajmy jednak, \u017ce mamy problemy nie tylko z kodem legacy &#8211; nawet \u201cnowocze\u015bnie napisane\u201d projekty bardzo cz\u0119sto s\u0105 trudne do zrozumienia dla osoby z zewn\u0105trz, zw\u0142aszcza je\u015bli przez lata ju\u017c si\u0119 troch\u0119 rozros\u0142y. W wypadku, gdy musicie szybko \u201crozezna\u0107 si\u0119\u201d w odziedziczonym kodzie, nieocenion\u0105 pomoc\u0105 b\u0119dzie ksi\u0105\u017cka <a href=\"https:\/\/pragprog.com\/titles\/atevol\/software-design-x-rays\/\"><strong>Software Design X-Rays<\/strong><\/a><strong> <\/strong>autorstwa Adama Tornhila. Adam u\u017cywa statystyki, aby odkry\u0107 zar\u00f3wno problematyczny kod, jak i wzorce zachowa\u0144 tworz\u0105cych go programist\u00f3w. Okazuje si\u0119, \u017ce np. tylko analizuj\u0105c histori\u0119 zmian w kodzie (jakie pliki zmieniaj\u0105 si\u0119 razem, a jakie w izolacji) mo\u017cna czasem zrozumie\u0107 zamys\u0142 oryginalnych tw\u00f3rc\u00f3w lepiej, ni\u017c osoby od d\u0142ugiego czasu pracuj\u0105ce w projekcie . <a href=\"https:\/\/pragprog.com\/titles\/atevol\/software-design-x-rays\/\"><strong>Software Design X-Rays<\/strong><\/a> to jedna z moich ulubionych bran\u017cowych ksi\u0105\u017cek, po kt\u00f3rej lekturze zapewniam, \u017ce poczujecie si\u0119 jakby\u015bcie nabyli nowe supermoce.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Wyb\u00f3r j\u0119zyka programowania to pierwszy dylemat przed rozpocz\u0119ciem kariery w IT. Czy s\u0105 lepsze i gorsze wybory na pocz\u0105tek? Jak si\u0119 do tego zabra\u0107 najbardziej efektywnie? I przede wszystkim &#8211; jakie kryteria pomog\u0105 Ci zdecydowa\u0107, od kt\u00f3rego zacz\u0105\u0107?<\/p>\n","protected":false},"author":10,"featured_media":7830,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[],"tags":[],"class_list":["post-10035","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry"],"acf":{"estimated_reading_time":"5","weekly_summary":false,"push_notification_image":false,"feature_image_visible":true,"feature_image_blog":false},"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.0 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Jak j\u0119zyk programowania potrafi zdeterminowa\u0107 karier\u0119? \u2013 \ud83d\udd08 Root Cause by Vived #7 - 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\/root-cause-7\/\" \/>\n<meta property=\"og:locale\" content=\"pl_PL\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Jak j\u0119zyk programowania potrafi zdeterminowa\u0107 karier\u0119? \u2013 \ud83d\udd08 Root Cause by Vived #7 - Vived\" \/>\n<meta property=\"og:description\" content=\"Wyb\u00f3r j\u0119zyka programowania to pierwszy dylemat przed rozpocz\u0119ciem kariery w IT. Czy s\u0105 lepsze i gorsze wybory na pocz\u0105tek? Jak si\u0119 do tego zabra\u0107 najbardziej efektywnie? I przede wszystkim - jakie kryteria pomog\u0105 Ci zdecydowa\u0107, od kt\u00f3rego zacz\u0105\u0107?\" \/>\n<meta property=\"og:url\" content=\"https:\/\/vived.io\/pl\/root-cause-7\/\" \/>\n<meta property=\"og:site_name\" content=\"Vived\" \/>\n<meta property=\"article:published_time\" content=\"2021-12-09T20:14:20+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/vived.io\/wp-content\/uploads\/2021\/12\/headliner-yt-ep7.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1920\" \/>\n\t<meta property=\"og:image:height\" content=\"1080\" \/>\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\/root-cause-7\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/vived.io\/pl\/root-cause-7\/\"},\"author\":{\"name\":\"Artur Skowro\u0144ski\",\"@id\":\"https:\/\/vived.io\/pl\/#\/schema\/person\/0eb0878110cb27edfbfe46e841fe6db3\"},\"headline\":\"Jak j\u0119zyk programowania potrafi zdeterminowa\u0107 karier\u0119? \u2013 \ud83d\udd08 Root Cause by Vived #7\",\"datePublished\":\"2021-12-09T20:14:20+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/vived.io\/pl\/root-cause-7\/\"},\"wordCount\":1132,\"publisher\":{\"@id\":\"https:\/\/vived.io\/pl\/#organization\"},\"image\":{\"@id\":\"https:\/\/vived.io\/pl\/root-cause-7\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/vived.io\/wp-content\/uploads\/2021\/12\/headliner-yt-ep7.png\",\"inLanguage\":\"pl-PL\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/vived.io\/pl\/root-cause-7\/\",\"url\":\"https:\/\/vived.io\/pl\/root-cause-7\/\",\"name\":\"Jak j\u0119zyk programowania potrafi zdeterminowa\u0107 karier\u0119? \u2013 \ud83d\udd08 Root Cause by Vived #7 - Vived\",\"isPartOf\":{\"@id\":\"https:\/\/vived.io\/pl\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/vived.io\/pl\/root-cause-7\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/vived.io\/pl\/root-cause-7\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/vived.io\/wp-content\/uploads\/2021\/12\/headliner-yt-ep7.png\",\"datePublished\":\"2021-12-09T20:14:20+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/vived.io\/pl\/root-cause-7\/#breadcrumb\"},\"inLanguage\":\"pl-PL\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/vived.io\/pl\/root-cause-7\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pl-PL\",\"@id\":\"https:\/\/vived.io\/pl\/root-cause-7\/#primaryimage\",\"url\":\"https:\/\/vived.io\/wp-content\/uploads\/2021\/12\/headliner-yt-ep7.png\",\"contentUrl\":\"https:\/\/vived.io\/wp-content\/uploads\/2021\/12\/headliner-yt-ep7.png\",\"width\":1920,\"height\":1080},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/vived.io\/pl\/root-cause-7\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Strona g\u0142\u00f3wna\",\"item\":\"https:\/\/vived.io\/pl\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Jak j\u0119zyk programowania potrafi zdeterminowa\u0107 karier\u0119? \u2013 \ud83d\udd08 Root Cause by Vived #7\"}]},{\"@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 j\u0119zyk programowania potrafi zdeterminowa\u0107 karier\u0119? \u2013 \ud83d\udd08 Root Cause by Vived #7 - 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\/root-cause-7\/","og_locale":"pl_PL","og_type":"article","og_title":"Jak j\u0119zyk programowania potrafi zdeterminowa\u0107 karier\u0119? \u2013 \ud83d\udd08 Root Cause by Vived #7 - Vived","og_description":"Wyb\u00f3r j\u0119zyka programowania to pierwszy dylemat przed rozpocz\u0119ciem kariery w IT. Czy s\u0105 lepsze i gorsze wybory na pocz\u0105tek? Jak si\u0119 do tego zabra\u0107 najbardziej efektywnie? I przede wszystkim - jakie kryteria pomog\u0105 Ci zdecydowa\u0107, od kt\u00f3rego zacz\u0105\u0107?","og_url":"https:\/\/vived.io\/pl\/root-cause-7\/","og_site_name":"Vived","article_published_time":"2021-12-09T20:14:20+00:00","og_image":[{"width":1920,"height":1080,"url":"https:\/\/vived.io\/wp-content\/uploads\/2021\/12\/headliner-yt-ep7.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\/root-cause-7\/#article","isPartOf":{"@id":"https:\/\/vived.io\/pl\/root-cause-7\/"},"author":{"name":"Artur Skowro\u0144ski","@id":"https:\/\/vived.io\/pl\/#\/schema\/person\/0eb0878110cb27edfbfe46e841fe6db3"},"headline":"Jak j\u0119zyk programowania potrafi zdeterminowa\u0107 karier\u0119? \u2013 \ud83d\udd08 Root Cause by Vived #7","datePublished":"2021-12-09T20:14:20+00:00","mainEntityOfPage":{"@id":"https:\/\/vived.io\/pl\/root-cause-7\/"},"wordCount":1132,"publisher":{"@id":"https:\/\/vived.io\/pl\/#organization"},"image":{"@id":"https:\/\/vived.io\/pl\/root-cause-7\/#primaryimage"},"thumbnailUrl":"https:\/\/vived.io\/wp-content\/uploads\/2021\/12\/headliner-yt-ep7.png","inLanguage":"pl-PL"},{"@type":"WebPage","@id":"https:\/\/vived.io\/pl\/root-cause-7\/","url":"https:\/\/vived.io\/pl\/root-cause-7\/","name":"Jak j\u0119zyk programowania potrafi zdeterminowa\u0107 karier\u0119? \u2013 \ud83d\udd08 Root Cause by Vived #7 - Vived","isPartOf":{"@id":"https:\/\/vived.io\/pl\/#website"},"primaryImageOfPage":{"@id":"https:\/\/vived.io\/pl\/root-cause-7\/#primaryimage"},"image":{"@id":"https:\/\/vived.io\/pl\/root-cause-7\/#primaryimage"},"thumbnailUrl":"https:\/\/vived.io\/wp-content\/uploads\/2021\/12\/headliner-yt-ep7.png","datePublished":"2021-12-09T20:14:20+00:00","breadcrumb":{"@id":"https:\/\/vived.io\/pl\/root-cause-7\/#breadcrumb"},"inLanguage":"pl-PL","potentialAction":[{"@type":"ReadAction","target":["https:\/\/vived.io\/pl\/root-cause-7\/"]}]},{"@type":"ImageObject","inLanguage":"pl-PL","@id":"https:\/\/vived.io\/pl\/root-cause-7\/#primaryimage","url":"https:\/\/vived.io\/wp-content\/uploads\/2021\/12\/headliner-yt-ep7.png","contentUrl":"https:\/\/vived.io\/wp-content\/uploads\/2021\/12\/headliner-yt-ep7.png","width":1920,"height":1080},{"@type":"BreadcrumbList","@id":"https:\/\/vived.io\/pl\/root-cause-7\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Strona g\u0142\u00f3wna","item":"https:\/\/vived.io\/pl\/"},{"@type":"ListItem","position":2,"name":"Jak j\u0119zyk programowania potrafi zdeterminowa\u0107 karier\u0119? \u2013 \ud83d\udd08 Root Cause by Vived #7"}]},{"@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\/embed","attrs":{"url":"https:\/\/open.spotify.com\/episode\/4CDnGstowlnkEiDGGTGzWO","type":"rich","providerNameSlug":"spotify","responsive":true,"className":"wp-embed-aspect-21-9 wp-has-aspect-ratio"},"innerBlocks":[],"innerHTML":"\n<figure class=\"wp-block-embed is-type-rich is-provider-spotify wp-block-embed-spotify wp-embed-aspect-21-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\nhttps:\/\/open.spotify.com\/episode\/4CDnGstowlnkEiDGGTGzWO\n<\/div><\/figure>\n","innerContent":["\n<figure class=\"wp-block-embed is-type-rich is-provider-spotify wp-block-embed-spotify wp-embed-aspect-21-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\nhttps:\/\/open.spotify.com\/episode\/4CDnGstowlnkEiDGGTGzWO\n<\/div><\/figure>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/image","attrs":[],"innerBlocks":[],"innerHTML":"\n<figure class=\"wp-block-image\"><img src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/06\/img_62a88387bb1ec.jpg\" alt=\" - Dilbert by Scott Adams\"\/><\/figure>\n","innerContent":["\n<figure class=\"wp-block-image\"><img src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/06\/img_62a88387bb1ec.jpg\" alt=\" - Dilbert by Scott Adams\"\/><\/figure>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/heading","attrs":[],"innerBlocks":[],"innerHTML":"\n<h2>Jakie s\u0105<strong> najpopularniejsze j\u0119zyki<\/strong>?<\/h2>\n","innerContent":["\n<h2>Jakie s\u0105<strong> najpopularniejsze j\u0119zyki<\/strong>?<\/h2>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>Temat troch\u0119 wy\u015bwiechtany, ale pewnie od niego nie uciekniemy. Najbardziej szanowanym rankingiem tego typu jest <a href=\"https:\/\/www.tiobe.com\/tiobe-index\/\">TIOBE<\/a>, aczkolwiek prywatnie zdecydowanie bardziej lubi\u0119 odnosi\u0107 si\u0119 do wynik\u00f3w zaprezentowanych przez cho\u0107by <a href=\"https:\/\/octoverse.github.com\/\">GitHuba<\/a> czy <a href=\"https:\/\/insights.stackoverflow.com\/survey\/2021\">StackOverflow<\/a> - jako, \u017ce s\u0105 to narz\u0119dzia kt\u00f3re u\u017cywa wi\u0119kszo\u015b\u0107 z nas, wydaj\u0105 mi si\u0119 najlepiej oddawa\u0107 typowo \u201cprzemys\u0142ow\u0105\u201d stron\u0119 bran\u017cy.&nbsp;<\/p>\n","innerContent":["\n<p>Temat troch\u0119 wy\u015bwiechtany, ale pewnie od niego nie uciekniemy. Najbardziej szanowanym rankingiem tego typu jest <a href=\"https:\/\/www.tiobe.com\/tiobe-index\/\">TIOBE<\/a>, aczkolwiek prywatnie zdecydowanie bardziej lubi\u0119 odnosi\u0107 si\u0119 do wynik\u00f3w zaprezentowanych przez cho\u0107by <a href=\"https:\/\/octoverse.github.com\/\">GitHuba<\/a> czy <a href=\"https:\/\/insights.stackoverflow.com\/survey\/2021\">StackOverflow<\/a> - jako, \u017ce s\u0105 to narz\u0119dzia kt\u00f3re u\u017cywa wi\u0119kszo\u015b\u0107 z nas, wydaj\u0105 mi si\u0119 najlepiej oddawa\u0107 typowo \u201cprzemys\u0142ow\u0105\u201d stron\u0119 bran\u017cy.&nbsp;<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>Przyk\u0142adowo, w TIOBE na drugim miejscu rankingu popularno\u015bci jest j\u0119zyk C, co o ile pewnie oddaje stan faktyczny, to jednak chyba nie oddaje dobrze rynku pracy (JavaScript jest tam dopiero na si\u00f3dmej pozycji). Rankingi GitHuba i Stacka w pierwszej tr\u00f3jce maj\u0105 za to Pythona, Jav\u0119 i JavaScripta - i o ile kolejno\u015b\u0107 miejsc na podium si\u0119 mi\u0119dzy nimi r\u00f3\u017cni, to my\u015bl\u0119, \u017ce wi\u0119kszo\u015b\u0107 zgodzi si\u0119, \u017ce to w\u0142a\u015bnie one dziel\u0105 i rz\u0105dz\u0105 tym, jak w 2021 wytwarza si\u0119 oprogramowanie.<\/p>\n","innerContent":["\n<p>Przyk\u0142adowo, w TIOBE na drugim miejscu rankingu popularno\u015bci jest j\u0119zyk C, co o ile pewnie oddaje stan faktyczny, to jednak chyba nie oddaje dobrze rynku pracy (JavaScript jest tam dopiero na si\u00f3dmej pozycji). Rankingi GitHuba i Stacka w pierwszej tr\u00f3jce maj\u0105 za to Pythona, Jav\u0119 i JavaScripta - i o ile kolejno\u015b\u0107 miejsc na podium si\u0119 mi\u0119dzy nimi r\u00f3\u017cni, to my\u015bl\u0119, \u017ce wi\u0119kszo\u015b\u0107 zgodzi si\u0119, \u017ce to w\u0142a\u015bnie one dziel\u0105 i rz\u0105dz\u0105 tym, jak w 2021 wytwarza si\u0119 oprogramowanie.<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>Aczkolwiek \u017ceby nie by\u0142o, \u017ce prawie tutaj same komuna\u0142y - na zako\u0144czenie tematu popularno\u015bci j\u0119zyk\u00f3w programowania mam dla Was \u015bwietnie animowane statystyki prezentuj\u0105ce, jak rzeczona zmienia\u0142a si\u0119 przez lata. Jestem w stanie si\u0119 za\u0142o\u017cy\u0107, \u017ce niejednokrotnie b\u0119dziecie mocno zaskoczenii.<\/p>\n","innerContent":["\n<p>Aczkolwiek \u017ceby nie by\u0142o, \u017ce prawie tutaj same komuna\u0142y - na zako\u0144czenie tematu popularno\u015bci j\u0119zyk\u00f3w programowania mam dla Was \u015bwietnie animowane statystyki prezentuj\u0105ce, jak rzeczona zmienia\u0142a si\u0119 przez lata. Jestem w stanie si\u0119 za\u0142o\u017cy\u0107, \u017ce niejednokrotnie b\u0119dziecie mocno zaskoczenii.<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/embed","attrs":{"url":"https:\/\/www.youtube.com\/watch?v=Og847HVwRSI","type":"video","providerNameSlug":"youtube","responsive":true,"className":"wp-embed-aspect-16-9 wp-has-aspect-ratio"},"innerBlocks":[],"innerHTML":"\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\nhttps:\/\/www.youtube.com\/watch?v=Og847HVwRSI\n<\/div><\/figure>\n","innerContent":["\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\nhttps:\/\/www.youtube.com\/watch?v=Og847HVwRSI\n<\/div><\/figure>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/heading","attrs":[],"innerBlocks":[],"innerHTML":"\n<h2><br>Ewolucja j\u0119zyk\u00f3w programowania<\/h2>\n","innerContent":["\n<h2><br>Ewolucja j\u0119zyk\u00f3w programowania<\/h2>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>Cz\u0119sto m\u00f3wi si\u0119, \u017ce sporo \u201cnowo\u015bci\u201d w j\u0119zykach programowania pochodzi wprost z lat 60-tych, i w wi\u0119kszo\u015bci przypadk\u00f3w nie ma problem\u00f3w, \u017ceby np. prze\u015bledzi\u0107 histori\u0119 korutyn z do jakiego\u015b zapomnianego papera z czas\u00f3w, gdy komputery zajmowa\u0142y ca\u0142y pok\u00f3j. Jednak bardzo wiele z tych teoretycznych za\u0142o\u017ce\u0144 potrzebowa\u0142o lat, \u017ceby znale\u017a\u0107 swoje zastosowanie w przemy\u015ble. Przyk\u0142adowo, ostatni boom na inwestycje w modele wsp\u00f3\u0142bie\u017cno\u015bci (gorutyny, korutyny, Loom) spowodowany zosta\u0142 przez zahamowanie rozwoju pojedynczych rdzeni procesora, w zwi\u0105zku z czym spo\u0142eczno\u015b\u0107 musia\u0142a zabra\u0107 si\u0119 za realizacj\u0119 istniej\u0105cych pomys\u0142\u00f3w w praktyce. Sam proces ewolucji j\u0119zyk\u00f3w bardzo dobrze wy\u0142uszczy\u0142 w 2020 Roman Elizarov, \u015bwietnie znany spo\u0142eczno\u015bci kotlinowej. <a href=\"https:\/\/elizarov.medium.com\/programming-language-evolution-ab7d7d2b0d0b\">Artyku\u0142 ten obrazuje<\/a>, jak zmiany w bran\u017cy powodowa\u0142y przez lata rozw\u00f3j narz\u0119dzi, kt\u00f3re u\u017cywamy na co dzie\u0144.<\/p>\n","innerContent":["\n<p>Cz\u0119sto m\u00f3wi si\u0119, \u017ce sporo \u201cnowo\u015bci\u201d w j\u0119zykach programowania pochodzi wprost z lat 60-tych, i w wi\u0119kszo\u015bci przypadk\u00f3w nie ma problem\u00f3w, \u017ceby np. prze\u015bledzi\u0107 histori\u0119 korutyn z do jakiego\u015b zapomnianego papera z czas\u00f3w, gdy komputery zajmowa\u0142y ca\u0142y pok\u00f3j. Jednak bardzo wiele z tych teoretycznych za\u0142o\u017ce\u0144 potrzebowa\u0142o lat, \u017ceby znale\u017a\u0107 swoje zastosowanie w przemy\u015ble. Przyk\u0142adowo, ostatni boom na inwestycje w modele wsp\u00f3\u0142bie\u017cno\u015bci (gorutyny, korutyny, Loom) spowodowany zosta\u0142 przez zahamowanie rozwoju pojedynczych rdzeni procesora, w zwi\u0105zku z czym spo\u0142eczno\u015b\u0107 musia\u0142a zabra\u0107 si\u0119 za realizacj\u0119 istniej\u0105cych pomys\u0142\u00f3w w praktyce. Sam proces ewolucji j\u0119zyk\u00f3w bardzo dobrze wy\u0142uszczy\u0142 w 2020 Roman Elizarov, \u015bwietnie znany spo\u0142eczno\u015bci kotlinowej. <a href=\"https:\/\/elizarov.medium.com\/programming-language-evolution-ab7d7d2b0d0b\">Artyku\u0142 ten obrazuje<\/a>, jak zmiany w bran\u017cy powodowa\u0142y przez lata rozw\u00f3j narz\u0119dzi, kt\u00f3re u\u017cywamy na co dzie\u0144.<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>Wprawdzie w samym odcinku \u015bwi\u0119ta wojna mi\u0119dzy programowaniem obiektowym, a funkcyjnym nie wybrzmia\u0142a zbyt mocno, ale je\u015bli chodzi o j\u0119zyki programowania jest to zdecydowanie punkt zapalny, kt\u00f3ry rozgrzewa programist\u00f3w do czerwono\u015bci od zawsze, ze szczeg\u00f3lnym naciskiem ostatniej dekady. Dlatego te\u017c dwa nast\u0119pne materia\u0142y zwi\u0105zane b\u0119d\u0105 w\u0142a\u015bnie z tym tematem.&nbsp;<\/p>\n","innerContent":["\n<p>Wprawdzie w samym odcinku \u015bwi\u0119ta wojna mi\u0119dzy programowaniem obiektowym, a funkcyjnym nie wybrzmia\u0142a zbyt mocno, ale je\u015bli chodzi o j\u0119zyki programowania jest to zdecydowanie punkt zapalny, kt\u00f3ry rozgrzewa programist\u00f3w do czerwono\u015bci od zawsze, ze szczeg\u00f3lnym naciskiem ostatniej dekady. Dlatego te\u017c dwa nast\u0119pne materia\u0142y zwi\u0105zane b\u0119d\u0105 w\u0142a\u015bnie z tym tematem.&nbsp;<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/image","attrs":{"align":"center"},"innerBlocks":[],"innerHTML":"\n<figure class=\"wp-block-image aligncenter\"><img src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/06\/me-the-language-tm-studying-literally-any-other-language-functional-45999094.png\" alt=\"ME THE LANGUAGE T'M STUDYING LITERALLY ANY OTHER LANGUAGE Functional  Programming Is Looking So Hot These Days | Programming Meme on ME.ME\"\/><\/figure>\n","innerContent":["\n<figure class=\"wp-block-image aligncenter\"><img src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/06\/me-the-language-tm-studying-literally-any-other-language-functional-45999094.png\" alt=\"ME THE LANGUAGE T'M STUDYING LITERALLY ANY OTHER LANGUAGE Functional  Programming Is Looking So Hot These Days | Programming Meme on ME.ME\"\/><\/figure>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>Po pierwsze - punkt widzenia programowania obiektowego bardzo dobrze podsumowa\u0142 w zesz\u0142ym roku <a href=\"https:\/\/stackoverflow.blog\/2020\/09\/02\/if-everyone-hates-it-why-is-oop-still-so-widely-spread\/\">esej opublikowany na blogu StackOverflow<\/a>. Przedstawia on jak bardzo fakt braku \u015bcis\u0142ej definicji czym OOP jest doprowadzi\u0142 zar\u00f3wno do jego niezwyk\u0142ego sukcesu, jak i po jakim\u015b czasie obr\u00f3ci\u0142 si\u0119 mocno przeciwko niemu. Skoro jednak sam tw\u00f3rca (no... mo\u017ce pierwszy istotny popularyzator) terminu \u201cprogramowanie obiektowe\u201d przez lata zmienia\u0142 swoje zdanie na to czym ono jest\u2026 to jak biedny szary programista ma si\u0119 nie pogubi\u0107.<\/p>\n","innerContent":["\n<p>Po pierwsze - punkt widzenia programowania obiektowego bardzo dobrze podsumowa\u0142 w zesz\u0142ym roku <a href=\"https:\/\/stackoverflow.blog\/2020\/09\/02\/if-everyone-hates-it-why-is-oop-still-so-widely-spread\/\">esej opublikowany na blogu StackOverflow<\/a>. Przedstawia on jak bardzo fakt braku \u015bcis\u0142ej definicji czym OOP jest doprowadzi\u0142 zar\u00f3wno do jego niezwyk\u0142ego sukcesu, jak i po jakim\u015b czasie obr\u00f3ci\u0142 si\u0119 mocno przeciwko niemu. Skoro jednak sam tw\u00f3rca (no... mo\u017ce pierwszy istotny popularyzator) terminu \u201cprogramowanie obiektowe\u201d przez lata zmienia\u0142 swoje zdanie na to czym ono jest\u2026 to jak biedny szary programista ma si\u0119 nie pogubi\u0107.<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>Co do programowania funkcyjnego za\u015b, nie wiem czy istnieje w ostatnich latach wa\u017cniejsze publikacja dla ca\u0142ego trendu znim zwi\u0105zanego ni\u017c \u201cWhy Functional Programming Matters\u201d Johna Hughesa. Oryginalnie spisane w formie <a href=\"https:\/\/www.cs.kent.ac.uk\/people\/staff\/dat\/miranda\/whyfp90.pdf\">akademickiego papera<\/a> w latach 90-tych sta\u0142o si\u0119 dokumentem fundacyjnym nowoczesnego podej\u015bcia do FP. Ca\u0142o\u015b\u0107 w wersji papierowej jest jest troch\u0119 \u201cprzyci\u0119\u017ckawa\u201d, dlatego chc\u0105cym pozna\u0107 my\u015bl przewodni\u0105 Hughesa polecam nagranie jego <a href=\"https:\/\/www.youtube.com\/watch?v=XrNdvWqxBvA\">prezentacji o tym samym tytule<\/a>.&nbsp;<\/p>\n","innerContent":["\n<p>Co do programowania funkcyjnego za\u015b, nie wiem czy istnieje w ostatnich latach wa\u017cniejsze publikacja dla ca\u0142ego trendu znim zwi\u0105zanego ni\u017c \u201cWhy Functional Programming Matters\u201d Johna Hughesa. Oryginalnie spisane w formie <a href=\"https:\/\/www.cs.kent.ac.uk\/people\/staff\/dat\/miranda\/whyfp90.pdf\">akademickiego papera<\/a> w latach 90-tych sta\u0142o si\u0119 dokumentem fundacyjnym nowoczesnego podej\u015bcia do FP. Ca\u0142o\u015b\u0107 w wersji papierowej jest jest troch\u0119 \u201cprzyci\u0119\u017ckawa\u201d, dlatego chc\u0105cym pozna\u0107 my\u015bl przewodni\u0105 Hughesa polecam nagranie jego <a href=\"https:\/\/www.youtube.com\/watch?v=XrNdvWqxBvA\">prezentacji o tym samym tytule<\/a>.&nbsp;<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/heading","attrs":[],"innerBlocks":[],"innerHTML":"\n<h2>Sk\u0105d bierze si\u0119 Legacy?<\/h2>\n","innerContent":["\n<h2>Sk\u0105d bierze si\u0119 Legacy?<\/h2>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>W odcinku, kt\u00f3rego oryginalnym tematem by\u0142y j\u0119zyki programowania, zaskakuj\u0105co du\u017co m\u00f3wili\u015bmy o systemach legacy. Temat wraca\u0142 jak bumerang, i wcale si\u0119 z naszej perspektywy nie wyczerpa\u0142, dlatego chcia\u0142bym m\u00f3c go troch\u0119 poszerzy\u0107 w ramach notatek.<\/p>\n","innerContent":["\n<p>W odcinku, kt\u00f3rego oryginalnym tematem by\u0142y j\u0119zyki programowania, zaskakuj\u0105co du\u017co m\u00f3wili\u015bmy o systemach legacy. Temat wraca\u0142 jak bumerang, i wcale si\u0119 z naszej perspektywy nie wyczerpa\u0142, dlatego chcia\u0142bym m\u00f3c go troch\u0119 poszerzy\u0107 w ramach notatek.<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/image","attrs":{"align":"center"},"innerBlocks":[],"innerHTML":"\n<figure class=\"wp-block-image aligncenter\"><img src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/06\/legacy_meme.jpg\" alt=\"Legacies Never Die: How to Handle Legacy Code\"\/><\/figure>\n","innerContent":["\n<figure class=\"wp-block-image aligncenter\"><img src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/06\/legacy_meme.jpg\" alt=\"Legacies Never Die: How to Handle Legacy Code\"\/><\/figure>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>Po pierwsze, niesamowicie polecam Paper <a href=\"https:\/\/www.cs.drexel.edu\/~yfcai\/CS451\/RequiredReadings\/SoftwareAging.pdf\">Software Aging<\/a> - tydzie\u0144 temu podrzuca\u0142em poradnik jak si\u0119 takowe dokumenty czyta, tak\u017ce akurat b\u0119dziecie mogli przetestowa\u0107 sobie t\u0105 wiedz\u0119 w praktyce. Jest to bardzo wnikliwa, a r\u00f3wnolegle przyst\u0119pna analiza powod\u00f3w, dla kt\u00f3rych nie da si\u0119 w zasadzie napisa\u0107 oprogramowania odpornego na starzenie si\u0119. Autorzy przyj\u0119li bardzo szerok\u0105 perspektyw\u0119 - przygl\u0105daj\u0105 si\u0119 powodom zar\u00f3wno stricte technologicznych, jak i biznesowo-organizacyjnych.&nbsp; Dodatkowym chichotem jest fakt, \u017ce ca\u0142o\u015b\u0107 pochodzi z 1994 roku. Pokazuje to, jak ponadczasowe s\u0105 niekt\u00f3re problemy z kt\u00f3rymi si\u0119 mierzymy.<\/p>\n","innerContent":["\n<p>Po pierwsze, niesamowicie polecam Paper <a href=\"https:\/\/www.cs.drexel.edu\/~yfcai\/CS451\/RequiredReadings\/SoftwareAging.pdf\">Software Aging<\/a> - tydzie\u0144 temu podrzuca\u0142em poradnik jak si\u0119 takowe dokumenty czyta, tak\u017ce akurat b\u0119dziecie mogli przetestowa\u0107 sobie t\u0105 wiedz\u0119 w praktyce. Jest to bardzo wnikliwa, a r\u00f3wnolegle przyst\u0119pna analiza powod\u00f3w, dla kt\u00f3rych nie da si\u0119 w zasadzie napisa\u0107 oprogramowania odpornego na starzenie si\u0119. Autorzy przyj\u0119li bardzo szerok\u0105 perspektyw\u0119 - przygl\u0105daj\u0105 si\u0119 powodom zar\u00f3wno stricte technologicznych, jak i biznesowo-organizacyjnych.&nbsp; Dodatkowym chichotem jest fakt, \u017ce ca\u0142o\u015b\u0107 pochodzi z 1994 roku. Pokazuje to, jak ponadczasowe s\u0105 niekt\u00f3re problemy z kt\u00f3rymi si\u0119 mierzymy.<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>Modernizacja system\u00f3w legacy jest problemem z\u0142o\u017conym, ale te\u017c nie musimy biega\u0107 jak kurczaczki z odci\u0119t\u0105 g\u0142ow\u0105. Jako bran\u017ca wypracowali\u015bmy ju\u017c sporo metod na podchodzenie do procesy wykopywania si\u0119 z naszego \u201cdziedzictwa\u201d, a bardzo dobr\u0105 kompilacje znajdziecie np. <a href=\"https:\/\/martinfowler.com\/articles\/patterns-legacy-displacement\/\">na blogu Martina Fowlera<\/a>. Jest to lektura do\u015b\u0107 d\u0142uga, ale da Wam bardzo szeroki pogl\u0105d na wachlarz metod kt\u00f3rych mo\u017cecie u\u017cy\u0107 je\u015bli staniecie przed takim wyzwaniem.&nbsp;<\/p>\n","innerContent":["\n<p>Modernizacja system\u00f3w legacy jest problemem z\u0142o\u017conym, ale te\u017c nie musimy biega\u0107 jak kurczaczki z odci\u0119t\u0105 g\u0142ow\u0105. Jako bran\u017ca wypracowali\u015bmy ju\u017c sporo metod na podchodzenie do procesy wykopywania si\u0119 z naszego \u201cdziedzictwa\u201d, a bardzo dobr\u0105 kompilacje znajdziecie np. <a href=\"https:\/\/martinfowler.com\/articles\/patterns-legacy-displacement\/\">na blogu Martina Fowlera<\/a>. Jest to lektura do\u015b\u0107 d\u0142uga, ale da Wam bardzo szeroki pogl\u0105d na wachlarz metod kt\u00f3rych mo\u017cecie u\u017cy\u0107 je\u015bli staniecie przed takim wyzwaniem.&nbsp;<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>PS: Sam te\u017c kiedy\u015b pope\u0142ni\u0142em <a href=\"https:\/\/bit.ly\/3CR4X57\">do\u015b\u0107 poka\u017ane case-study<\/a> opisuj\u0105ce, jak takowa migracja wygl\u0105da\u0142a w jednym z projekt\u00f3w w kt\u00f3rym pracowa\u0142em. Uwa\u017cam, \u017ce wysz\u0142o naprawd\u0119 udanie, tak\u017ce zapraszam do lektury.<br><\/p>\n","innerContent":["\n<p>PS: Sam te\u017c kiedy\u015b pope\u0142ni\u0142em <a href=\"https:\/\/bit.ly\/3CR4X57\">do\u015b\u0107 poka\u017ane case-study<\/a> opisuj\u0105ce, jak takowa migracja wygl\u0105da\u0142a w jednym z projekt\u00f3w w kt\u00f3rym pracowa\u0142em. Uwa\u017cam, \u017ce wysz\u0142o naprawd\u0119 udanie, tak\u017ce zapraszam do lektury.<br><\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/heading","attrs":[],"innerBlocks":[],"innerHTML":"\n<h2>Polecanki ksi\u0105\u017ckowe<\/h2>\n","innerContent":["\n<h2>Polecanki ksi\u0105\u017ckowe<\/h2>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>A jak ju\u017c o dzia\u0142aniu na zasta\u0142ym kodzie mowa - to na sam koniec mam dla Was dwie polecajki ksi\u0105\u017ckowe, kt\u00f3re pomog\u0105 w\u0142a\u015bnie w tym.<\/p>\n","innerContent":["\n<p>A jak ju\u017c o dzia\u0142aniu na zasta\u0142ym kodzie mowa - to na sam koniec mam dla Was dwie polecajki ksi\u0105\u017ckowe, kt\u00f3re pomog\u0105 w\u0142a\u015bnie w tym.<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/image","attrs":{"align":"center"},"innerBlocks":[],"innerHTML":"\n<figure class=\"wp-block-image aligncenter\"><img src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/06\/51yS8PYs03L._SX376_BO1204203200.jpg\" alt=\"\"\/><\/figure>\n","innerContent":["\n<figure class=\"wp-block-image aligncenter\"><img src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/06\/51yS8PYs03L._SX376_BO1204203200.jpg\" alt=\"\"\/><\/figure>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>Pierwsz\u0105 publikacj\u0105 jest klasyk <a href=\"https:\/\/www.amazon.pl\/Working-Effectively-Legacy-Feathers-Michael\/dp\/0131177052\"><strong>Working Effectively with Legacy Code<\/strong><\/a><strong>. <\/strong>Od czasu swojej premiery w 2004 roku nie znika z list najcz\u0119\u015bciej polecanych pozycji zwi\u0105zanych z in\u017cynieri\u0105 oprogramowania. Trudno si\u0119 dziwi\u0107 - ksi\u0105\u017cka zapewnia programistom mo\u017cliwo\u015b\u0107 efektywnego rozwi\u0105zywania typowych problem\u00f3w ze starszym kodem, bez konieczno\u015bci przechodzenia przez niezwykle kosztowne zadanie przepisywania ca\u0142ego istniej\u0105cego codebase. Pragmatyczne porady Michaela Fethersa pomagaj\u0105 znale\u017a\u0107 odpowiedni balans podczas czyszczenia stajni Augiasza.<\/p>\n","innerContent":["\n<p>Pierwsz\u0105 publikacj\u0105 jest klasyk <a href=\"https:\/\/www.amazon.pl\/Working-Effectively-Legacy-Feathers-Michael\/dp\/0131177052\"><strong>Working Effectively with Legacy Code<\/strong><\/a><strong>. <\/strong>Od czasu swojej premiery w 2004 roku nie znika z list najcz\u0119\u015bciej polecanych pozycji zwi\u0105zanych z in\u017cynieri\u0105 oprogramowania. Trudno si\u0119 dziwi\u0107 - ksi\u0105\u017cka zapewnia programistom mo\u017cliwo\u015b\u0107 efektywnego rozwi\u0105zywania typowych problem\u00f3w ze starszym kodem, bez konieczno\u015bci przechodzenia przez niezwykle kosztowne zadanie przepisywania ca\u0142ego istniej\u0105cego codebase. Pragmatyczne porady Michaela Fethersa pomagaj\u0105 znale\u017a\u0107 odpowiedni balans podczas czyszczenia stajni Augiasza.<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/image","attrs":{"align":"center","width":563,"height":675},"innerBlocks":[],"innerHTML":"\n<figure class=\"wp-block-image aligncenter is-resized\"><img src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/06\/atevol.jpg\" alt=\"\" width=\"563\" height=\"675\"\/><\/figure>\n","innerContent":["\n<figure class=\"wp-block-image aligncenter is-resized\"><img src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/06\/atevol.jpg\" alt=\"\" width=\"563\" height=\"675\"\/><\/figure>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>Pami\u0119tajmy jednak, \u017ce mamy problemy nie tylko z kodem legacy - nawet \u201cnowocze\u015bnie napisane\u201d projekty bardzo cz\u0119sto s\u0105 trudne do zrozumienia dla osoby z zewn\u0105trz, zw\u0142aszcza je\u015bli przez lata ju\u017c si\u0119 troch\u0119 rozros\u0142y. W wypadku, gdy musicie szybko \u201crozezna\u0107 si\u0119\u201d w odziedziczonym kodzie, nieocenion\u0105 pomoc\u0105 b\u0119dzie ksi\u0105\u017cka <a href=\"https:\/\/pragprog.com\/titles\/atevol\/software-design-x-rays\/\"><strong>Software Design X-Rays<\/strong><\/a><strong> <\/strong>autorstwa Adama Tornhila. Adam u\u017cywa statystyki, aby odkry\u0107 zar\u00f3wno problematyczny kod, jak i wzorce zachowa\u0144 tworz\u0105cych go programist\u00f3w. Okazuje si\u0119, \u017ce np. tylko analizuj\u0105c histori\u0119 zmian w kodzie (jakie pliki zmieniaj\u0105 si\u0119 razem, a jakie w izolacji) mo\u017cna czasem zrozumie\u0107 zamys\u0142 oryginalnych tw\u00f3rc\u00f3w lepiej, ni\u017c osoby od d\u0142ugiego czasu pracuj\u0105ce w projekcie . <a href=\"https:\/\/pragprog.com\/titles\/atevol\/software-design-x-rays\/\"><strong>Software Design X-Rays<\/strong><\/a> to jedna z moich ulubionych bran\u017cowych ksi\u0105\u017cek, po kt\u00f3rej lekturze zapewniam, \u017ce poczujecie si\u0119 jakby\u015bcie nabyli nowe supermoce.<\/p>\n","innerContent":["\n<p>Pami\u0119tajmy jednak, \u017ce mamy problemy nie tylko z kodem legacy - nawet \u201cnowocze\u015bnie napisane\u201d projekty bardzo cz\u0119sto s\u0105 trudne do zrozumienia dla osoby z zewn\u0105trz, zw\u0142aszcza je\u015bli przez lata ju\u017c si\u0119 troch\u0119 rozros\u0142y. W wypadku, gdy musicie szybko \u201crozezna\u0107 si\u0119\u201d w odziedziczonym kodzie, nieocenion\u0105 pomoc\u0105 b\u0119dzie ksi\u0105\u017cka <a href=\"https:\/\/pragprog.com\/titles\/atevol\/software-design-x-rays\/\"><strong>Software Design X-Rays<\/strong><\/a><strong> <\/strong>autorstwa Adama Tornhila. Adam u\u017cywa statystyki, aby odkry\u0107 zar\u00f3wno problematyczny kod, jak i wzorce zachowa\u0144 tworz\u0105cych go programist\u00f3w. Okazuje si\u0119, \u017ce np. tylko analizuj\u0105c histori\u0119 zmian w kodzie (jakie pliki zmieniaj\u0105 si\u0119 razem, a jakie w izolacji) mo\u017cna czasem zrozumie\u0107 zamys\u0142 oryginalnych tw\u00f3rc\u00f3w lepiej, ni\u017c osoby od d\u0142ugiego czasu pracuj\u0105ce w projekcie . <a href=\"https:\/\/pragprog.com\/titles\/atevol\/software-design-x-rays\/\"><strong>Software Design X-Rays<\/strong><\/a> to jedna z moich ulubionych bran\u017cowych ksi\u0105\u017cek, po kt\u00f3rej lekturze zapewniam, \u017ce poczujecie si\u0119 jakby\u015bcie nabyli nowe supermoce.<\/p>\n"]}],"_links":{"self":[{"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/posts\/10035","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=10035"}],"version-history":[{"count":0,"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/posts\/10035\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/media\/7830"}],"wp:attachment":[{"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/media?parent=10035"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/categories?post=10035"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/tags?post=10035"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}